我使用Laracasts Flash包向我的用戶顯示閃存消息。但是,這是一個問題:在一次重定向後,閃存值消失了。值與我設置Session::set();
仍然存在。我在每個控制器上使用網絡中間件,甚至包括StartSession
類。 重定向後,即使重定向->withInput
也不見了。Laravel 5.2:重定向後會話中的閃存值已消失
這裏是我的控制器:
public function update(Request $request) {
$profile = Auth::user()->profile;
$validator = Validator::make($request->all(), [
'email' => ['email', 'unique:profiles,email,' . $profile->id, 'max:255'],
]);
if($validator->fails()) {
var_dump("failed");
return redirect()->back()->withInput($request->input())->withErrors($validator);
}
$profile->update($request->input());
$profile->save();
Flash::success('saved');
\Session::set('test', 'testvalue');
return redirect()->route('profile.edit');
}
繼承人,我試圖讓該值的方法:
public function edit() {
$account = Auth::user();
var_dump(\Session::all());
return view('profile.edit', [
'account' => $account,
'profile' => $account->profile,
]);
}
的testvalue
仍然存在,但是閃光燈的消息已經一去不復返了。即使我試圖自己設置他們Session::flash();
任何想法該怎麼辦?
我認爲閃存信息只存儲在下一個請求。它會在那之後消失。如果您想保留以供進一步使用,則需要在會話中存儲。你可以通過https://laravel.com/docs/5.2/session去了解flash消息的行爲 –
謝謝,但我知道flash消息是如何工作的。問題:它的下一個請求,但它仍然消失。 – mrHooty
https://laracasts.com/series/laravel-5-from-scratch/episodes/15 - 這個鏈接可能會幫助你更好。 –