コントローラから、viewテンプレートへ値を受け渡したいときは、複数の方法で記述できます。
基本的には、コントローラのメソッドで
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SampleController extends Controller
{
public function index()
{
//
return view('テンプレート情報', 配列);
}
}
index
メソッドのreturn
以下のように、view関数の第1引数にテンプレート情報、第2引数にテンプレート側に送る配列を用意します。
例えば、
class SampleController extends Controller
{
public function index()
{
//
return view('index', ['message' => 'メッセージです。']);
}
}
こんな感じで記述すると、第2引数のキーであるmessage
がviewテンプレート側で変数名として使用され、その変数にメッセージです。
の値が用意される、という感じになります。
また、このreturn view()
をスッキリしたコードにするためにcompact
関数を使用することもお勧めです。
class SampleController extends Controller
{
public function index()
{
$message = [
'message' => 'メッセージです。'
];
return view('index', compact('message') );
}
}
view
関数内に連想配列を書く必要がないので、見やすくなると思います。