Laravelで変数をControllerからViewに渡す方法【現役エンジニアが解説】

PROGRAM

今回は、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'));