Laravelで変数をControllerからViewに渡す方法【現役エンジニアが解説】
今回は、Laravelで変数をControllerからViewに渡す方法について、簡単に解説していきます。
配列
Laravelのview関数の第二引数で配列形式で変数をViewに渡せます。
$hoge_1 = "ほげ"; $hoge_2 = 1; return view('hoge.home',['hoge_1' => $hoge_1]);
渡した変数は{{ }}で囲んでBlade(View)で受け取ることができます。
{{ $hoge_1 }}
ご参考までに、複数の変数をViewに渡す場合は配列の要素を追加するだけです。
$hoge_1 = "ほげ"; $hoge_2 = 1; return view('hoge.home',['hoge_1' => $hoge_1, 'hoge_2' => $hoge_2]);
with
Laravelのview関数の後にwithメソッドを使っても変数をViewに渡せます。
$hoge_1 = "ほげ"; return view('hoge.home')->with('hoge_1',$hoge_1);
受け取る際は配列のまま渡した場合と同様で{{ }}で囲んで受け取ることになります。
{{ $hoge_1 }}
複数の変数をViewに渡す場合には、一つだけとは異なり、配列をwithメソッドの引数に指定します。
$hoge_1 = "ほげ"; $hoge_2 = 1; return view('hoge.home')->with(['hoge_1' => $hoge_1, 'hoge_2' => $hoge_2]);
compact
Laravelのview関数の第二引数に配列を直接指定する代わりにcompact関数も使えます。
$hoge_1 = "ほげ"; return view('hoge.home',compact('hoge_1'));
compact関数は配列を作るため、受け取り方は配列と全く同様で{{ }}で囲い、受け取ります。
{{ $hoge_1 }}
複数の変数を渡す場合も、withメソッドとは異なり、追加する分だけcompact関数の引数を増やします。
$hoge_1 = "ほげ"; $hoge_2 = 1; return view('hoge.home',compact('hoge_1','hoge_2'));