В двух словах 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.