こんにちは、さるまりんです。
フラッシュデータは次のリクエストまでの間セッションに保存されるデータです。
「保存されました」「送信されました」など、一度だけ表示するメッセージなどでよく使います。
これをLaravelで使ってみます。
まずは保存、3つの方法があります。
一つ目の方法はアクション内でメソッドflash()を使った方法です。
function save(Request $request) {
// 実際の処理をここに
$request->session()->flash('message', '処理が成功しました。');
return redirect('completed');
}
二つ目の方法はSessionクラスのスタティックメソッドを使った方法です。
function save(Request $request) {
// 実際の処理をここに
\Session::flash('message', '処理が成功しました。');
return redirect('completed');
}
三つ目の方法はメソッドwith()を使った方法です。
function save(Request $request) {
// 実際の処理をここに
return redirect('completed')->with('message', '処理が成功しました。');
}
アクション内と同様、Route指定時にこんな書き方もできます。
Route::post('save', function() {
// 実際の処理をここに
return redirect('completed')->with('message', '処理が成功しました。');
});
実際にビュー(blade)で表示するときはこうです。
{{ session('message') }}
シンプルなんです。
よく使うのですが、なぜか忘れてしまうのでメモしておきました。
もっと書いてもっと自分のものにしていかなきゃ。
読んでくださってありがとうございました。
それではまた!