laravelのRoute::resourceについて復習したい。
laravelのRoute:resourceってなんやねん
CRUDで必要なルーティングを一括生成してくれる仕組み
URL設計
HTTPメソッド
Controllerのメソッド名
これらをLaravelの規約どおりに自動で用意してくれる。
Route:resourceが無いとどうなる?
Route::get('/events', [EventController::class, 'index']);
Route::get('/events/create', [EventController::class, 'create']);
Route::post('/events', [EventController::class, 'store']);
Route::get('/events/{event}/edit', [EventController::class, 'edit']);
Route::put('/events/{event}', [EventController::class, 'update']);
Route::delete('/events/{event}', [EventController::class, 'destroy']);
Route:resourceだとどうなる?
Route::resource('events', EventController::class);
これでいける。便利。
追加したくない機能がある場合はonlyメソッドを使う
例えば以下。
Route::resource('/events',EventController::class)->only(['index','create','store']);
余談
ちなみにCRUDに関するコードが書かれているcontrollerを使うには以下のように末尾に「-r」を足せばいい。
「-r」はresourceの「r」ですね。わかりづれー。
php artisan make:controller EventController -r
※コントローラー名は適宜変えてください。