laravel的控制器当中有个资源控制器,这个比较好用。
创建资源控制器
php artisan make:controller PhotoController --resource
创建个路由来使用该资源控制器
use App\Http\Controllers\PhotoController;
Route::resource('photos', PhotoController::class);
隐式模型绑定不会检索软删除的模型,可以使用withTrashed方法来检索软删除的模型
use App\Http\Controllers\PhotoController;
Route::resource('photos', PhotoController::class)->withTrashed();
软删除意思是不会在数据库中真正删除数据,而是使用deleted_at字段来记录删除的时间。
如果想在创建资源控制器同时多创建一个模型类,可以使用以下命令
php artisan make:controller PhotoController --model=Photo --resource
声明资源路由时,你可以指定控制器应该处理的动作子集,而不是默认动作的全部集合
use App\Http\Controllers\PhotoController;
Route::resource('photos', PhotoController::class)->only([ 'index', 'show' ]);
嵌套资源
use App\Http\Controllers\PhotoCommentController;