Route::group(['prefix' => 'admin', 'middleware' => 'admin', 'namespace' => 'Admin'], function () {
Route::resource("consentforms","ConsentformController");
});
とするとルート名は
| GET|HEAD | admin/consentforms/create | consentforms.create |
| GET|HEAD | admin/consentforms/{consentform} | consentforms.show |
| PUT|PATCH | admin/consentforms/{consentform} | consentforms.update |
... (以下続く)
と、なりますが
次の様に 'as' => 'admin.' を使うと 名前の先頭に admin. が追加されます
Route::group(['prefix' => 'admin', 'middleware' => 'admin', 'namespace' => 'Admin', 'as' => 'admin.'], function () {
Route::resource("consentforms","ConsentformController");
});
↓ この様なルート名になります
| GET|HEAD | admin/consentforms/create | admin.consentforms.create |
| GET|HEAD | admin/consentforms/{consentform} | admin.consentforms.show |
| PUT|PATCH | admin/consentforms/{consentform} | admin.consentforms.update |
... (以下続く)
LaravelのCRUD操作のメソッドとルーティング一覧
例 : teams モデルの場合
HTTPメソッド | URL例 | ルーティング名 | メソッド名 | |
---|---|---|---|---|
データの一覧表示 | ||||
GET,HEAD | teams | teams.index | App\Http\Controllers\TeamController@index | |
データの詳細表示 | ||||
GET,HEAD | teams/123456 | teams.show | App\Http\Controllers\TeamController@show | |
データの新規作成 | ||||
GET,HEAD | teams/create | teams.create | App\Http\Controllers\TeamController@create | |
POST | teams | teams.store | App\Http\Controllers\TeamController@store | |
データの更新 | ||||
GET,HEAD | teams/123456/edit | teams.edit | App\Http\Controllers\TeamController@edit | |
PUT,PATCH | teams/123456 | teams.update | App\Http\Controllers\TeamController@update | |
データの削除 | ||||
DELETE | teams/123456 | teams.destroy | App\Http\Controllers\TeamController@destroy |
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
use \Illuminate\Http\Request;
Route::get("/{id}", function (Request $request, $id) {
return App\Http\Controllers\HomeJaController::index( $request, $id ); }
})->where([ 'id' => '[0-9]+' ]);
( id は 正規表現で数字のみに限定しておきます。 )
/routes/web.php
メソッド: 「PUT」
URL: 「teams/{id}/myteamupdate」
を ↓
コントローラー「TeamController」の メソッド「myteamupdate」
にルーティングする
を
Route::put("teams/{id}/myteamupdate", "TeamController@myteamupdate")->name('teams.myteamupdate'); // Add this line in routes.php
/routes/web.php
clients のCRUD関連メソッドを一括でルーティングする
Route::resource("clients","ClientController");
CRUDから一部を除外する方法です
/routes/web.php
Route::resource("clients","ClientController");
↓ 「SHOWメソッド」「DELETE メソッド」を除外します
Route::resource('clients', 'ClientController', ['except' => ['show', 'delete'] ]);
コマンドラインから以下のコマンドでルーティングを確認します。
peco コマンドがある場合は peco を通しましょう。
php artisan route:list | peco