В Laravel 8 изобретательные контроллеры маршрутов предоставляют удобный способ определения маршрутов и обработки операций CRUD для изобретательной сущности в вашем приложении. В этой статье мы рассмотрим различные методы, доступные в Laravel 8 для изобретательных контроллеров маршрутов, а также приведем примеры кода.
- Метод индекса.
Методindexизвлекает все записи ресурса. Обычно он соответствует методу HTTP GET для индексной страницы ресурса.
// routes/web.php
Route::resource('products', 'ProductController');
// app/Http/Controllers/ProductController.php
public function index()
{
$products = Product::all();
return view('products.index', ['products' => $products]);
}
- Метод Create:
Методcreateвозвращает представление для создания нового ресурса. Он соответствует методу HTTP GET для страницы создания ресурса.
// app/Http/Controllers/ProductController.php
public function create()
{
return view('products.create');
}
- Метод Store:
Методstoreуправляет созданием нового ресурса. Он соответствует методу HTTP POST для хранения отправленных данных.
// app/Http/Controllers/ProductController.php
public function store(Request $request)
{
$product = new Product();
// Set the product attributes from the request data
$product->name = $request->input('name');
$product->price = $request->input('price');
// Save the product
$product->save();
return redirect()->route('products.index');
}
- Метод Show:
Методshowизвлекает и отображает определенный ресурс. Он соответствует методу HTTP GET для отображения сведений о ресурсе.
// app/Http/Controllers/ProductController.php
public function show($id)
{
$product = Product::findOrFail($id);
return view('products.show', ['product' => $product]);
}
- Метод редактирования.
Методeditвозвращает представление для редактирования существующего ресурса. Он соответствует методу HTTP GET для страницы редактирования ресурса.
// app/Http/Controllers/ProductController.php
public function edit($id)
{
$product = Product::findOrFail($id);
return view('products.edit', ['product' => $product]);
}
- Метод обновления:
Методupdateобрабатывает обновление существующего ресурса. Он соответствует методу HTTP PUT/PATCH для обновления ресурса отправленными данными.
// app/Http/Controllers/ProductController.php
public function update(Request $request, $id)
{
$product = Product::findOrFail($id);
// Update the product attributes from the request data
$product->name = $request->input('name');
$product->price = $request->input('price');
// Save the updated product
$product->save();
return redirect()->route('products.index');
}
- Метод Destroy:
Методdestroyуправляет удалением ресурса. Он соответствует методу HTTP DELETE для удаления ресурса.
// app/Http/Controllers/ProductController.php
public function destroy($id)
{
$product = Product::findOrFail($id);
$product->delete();
return redirect()->route('products.index');
}
Находчивые контроллеры маршрутов в Laravel 8 обеспечивают лаконичный и организованный подход к обработке операций CRUD для ресурсов. Используя эти методы, вы можете легко создавать, читать, обновлять и удалять ресурсы в своем приложении.