Laravel – ルートパラメーター~インスタンスを渡す

概要

ルートパラメーターは、idなどの値を指定するほか、モデルのインスタンスを直接渡してコントローラーで受け取ることができる。

値を渡して値を受け取る

ルーティング

以下の様にルーティングを設定したとする。

ルーティングは以下のようになる。

ビューでの渡し方

ビューからのルーティングでidなどの値を渡すなら、以下のようにURLで展開させるかroute()ヘルパーの第2引数で指定する。

いずれの場合も、以下のようなURLでGETリクエストされる。

ログイン済みユーザーのidを渡す場合、以下のように書ける。

コントローラーでの受け取り方

コントローラー側でパラメーターを受け取る場合、アクションメソッドの引数にパラメーターが渡されるので、それをそのまま利用すればよい。

モデルのインスタンスのまま渡して受け取る

ルーティング

以下の様にルーティングを設定する。

リソースルーティングで指定するなら以下のとおり。

何れの場合もルーティングは以下のようになる。

ビューでの渡し方

ビューからからのルーティングでモデルのインスタンスを渡す場合も、URLで展開させるかroute()ヘルパーの第2引数で指定する。ここでは認証済みのユーザーインスタンスを渡している。

インスタンスを渡しても、ルートパラメーターはidの値になる。

コントローラーでの受け取り方

コントローラーのアクションでは、引数にモデルクラスのメソッドインジェクションを適用して、idに対応したインスタンスを受け取る。

コントローラーの冒頭でモデルをuse指定してもよい。

 

コメントを残す

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