In this tutorial, we will learn Laravel 7/6 Resource Route and Controller Tutorial
Laravel resource controller and resource route is an interesting feature to create a quick CRUD application in laravel.
There are two things as resources on laravel application.
first, you have to create a resource route on laravel they provide insert, update, view, delete routes.
Secondly,
You have to create a resource controller that will provide a method for insert, update, view, and delete.
CRUD Route:
Route::get('items',['as'=>'items.index','uses'=>'ItemController@index']);
Route::post('items/create',['as'=>'items.store','uses'=>'ItemController@store']);
Route::get('items/edit/{id}',['as'=>'items.edit','uses'=>'ItemController@edit']);
Route::patch('items/{id}',['as'=>'items.update','uses'=>'ItemController@update']);
Route::delete('items/{id}',['as'=>'items.destroy','uses'=>'ItemController@destroy']);
Route::get('items/{id}',['as'=>'items.view','uses'=>'ItemController@view']);
Resource Route:
Route::resource('items', 'ItemController');
run bellow command and check create route lists:
php artisan route:list
Resource Controller Command:
php artisan make:controller ItemController --resource --model=Item
app/Http/Controllers/ItemController.php
<?php
namespace App\Http\Controllers;
use App\Item;
use Illuminate\Http\Request;
class ItemController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
}
/**
* Display the specified resource.
*
* @param \App\Item $item
* @return \Illuminate\Http\Response
*/
public function show(Item $item)
{
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Item $item
* @return \Illuminate\Http\Response
*/
public function edit(Item $item)
{
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Item $item
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Item $item)
{
}
/**
* Remove the specified resource from storage.
*
* @param \App\Item $item
* @return \Illuminate\Http\Response
*/
public function destroy(Item $item)
{
}
}
May this example help you.