要約
- controllerで
\Session::flash('キー名', '渡したい文字列')
でセッションに保存 - bladeで
session('キー名')
で値を取得
環境
Laravel Framework 7.25.0
PHP 7.4.8
MacBook Pro
処理をした後にSESSIONにメッセージを渡して特定の画面に遷移して、その画面上でメッセージを表示したい
たとえば
controller.php
Blog::create($inputs); // データベースに登録
\Session::flash('msg' , '登録しました') // session('msg')に'登録しました'を代入
return redirect()->route('top'); // top画面に遷移(sessionにメッセージが入った状態)
これをトップページで表示するには
top.blade.php
@if(session('msg'))
<p class="msg">
{{ session('msg') }}
</p>
@endif
これを表示したい部分に入れることで
cotroller.phpで\Session::flash('msg' , '登録しました')
でセッションに保存した値を表示させることができる!