Laravel7 複数のルートパラメータを受け取る方法

URIに{}で囲んでコントローラに値を渡すやつね。

パラメータ1つの時は、routes/web.phpにこのように定義して

Route::get('/information/edit/{id}', 'InformationController@edit');

コントローラ側では、こうやって受け取る

public function edit($id){

パラメータ2つの時は、routes/web.phpにこのように定義して

Route::get('/information/edit/{id}/{kind}', 'InformationController@edit');

コントローラ側では、こうやって受け取る

public function edit($id, $kind){

変数名を見て、値を渡してくれるわけではないので
入れ替えて、こうすると

public function edit($kind, $id){

$idの値が$kind, $kindの値が$idに格納されてコントローラが呼ばれてしまう。

変数名を見てなくて、順番で値をセットしてくれてるだけなので

public function edit($aaa, $bb){

にすると、$idが$aaaに、$kindが$bbbに格納される。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です