В двух словах CRUD – это аббревиатура, широко известная в мире компьютерного программирования, которая используется для обозначения основных операций, известных как Создание, Чтение, Обновить и Удалить. На протяжении всей вашей жизни как разработчика вы будете часто иметь дело с моделями, выполняющими эти функции.
Часто почти 100%, как правило, контроллеры будут взаимодействовать с моделями, например, в системе электронной коммерции, где пользователь должен иметь возможность видеть список продуктов, о которых мы знаем, что есть точка входа/маршрут для продуктов, которые будут вызывать ProductController. , в свою очередь будет взаимодействовать с ProductModel, который под капотом выполнит запрос к вашей системной базе данных, обычно что-то вроде SELECT * FROM products, это может быть R as Read.
Прежде всего, обязательно импортируйте модель продукта, используя App\Models\Product
<?php
namespace App\Http\Controllers;
use App\Models\Product;
use Illuminate\Http\Request;
class ProductController extends Controller
{
C как создать
Итак, давайте приступим к реализации функциональности, которая позволит пользователю создавать новый продукт в базе данных:
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$product = new Product();
$product->name = $request->input('name');
$product->description = $request->input('description');
$product->price = $request->input('price');
$product->save();
return response()->json([
'success' => true,
'data' => $product,
]);
}
R как чтение
Как только у нас уже есть вставленный продукт в базу данных, пришло время получить / прочитать его для списка элементов.
/**
* Display a listing of the resource.
*/
public function index()
{
$products = Product::all();
return response()->json([
"success" => true,
"data" => $products,
]);
}
И для отдельного элемента по id:
/**
* Display the specified resource.
*/
public function show(int $id)
{
$product = Product::find($id);
return response()->json([
'success' => true,
'data' => $product,
]);
}
U как обновление
Теперь функция обновления, которая обновит текущий существующий элемент:
/**
* Update the specified resource in storage.
*/
public function update(Request $request, int $id)
{
$product = Product::find($id);
$product->name = $request->input('name');
$product->description = $request->input('description');
$product->price = $request->input('price');
$product->save();
return response()->json([
'success' => true,
'data' => $product,
]);
}
D как Удалить
И, наконец, удаление, которое должно удалить элемент на основе идентификатора:
/**
* Remove the specified resource from storage.
*/
public function destroy(int $id)
{
Product::destroy($id);
}
Как правило, это основные и первоначальные операции, которые будут вашим спутником на всю жизнь как разработчику, и, конечно же, по мере того, как ваше приложение увеличивается и усложняется, эти функции, вероятно, будут увеличиваться и становиться более сложными.
Как вы знаете, вы можете найти текущие обновления в репозитории Github.