人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

LaravelのCRUD操作のメソッドとルーティング一覧

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

● クロージャで path_info のパラメーターを渡す

Route::get('user/{id}', function ($id) {
    return 'User '.$id;
});

● クロージャで Request と パラメータ 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

● ルーターの記述方法(CRUD一括)

/routes/web.php

clients のCRUD関連メソッドを一括でルーティングする

Route::resource("clients","ClientController");

● ルーターの記述方法(CRUDから一部を除外)

CRUDから一部を除外する方法です

/routes/web.php

Route::resource("clients","ClientController");

 ↓ 「SHOWメソッド」「DELETE メソッド」を除外します

Route::resource('clients', 'ClientController', ['except' => ['show', 'delete'] ]);

● ルーティング変更を確認する

コマンドラインから以下のコマンドでルーティングを確認します。
peco コマンドがある場合は peco を通しましょう。

php artisan route:list | peco

関連エントリー

No.1315
02/12 16:32

edit

ルーティング