私はLaracasts Flashパッケージを使用してユーザーにフラッシュメッセージを表示します。しかし、問題があります:1つのリダイレクト後にフラッシュ値がなくなってしまいます。私がSession::set();
で設定した値はまだそこにあります。私はすべてのコントローラーでWebミドルウェアを使用し、さらにStartSession
クラスも含んでいます。 リダイレクトさえも、->withInput
はリダイレクト後に消えてしまいます。私は値を取得しようとLaravel 5.2:リダイレクト後にセッションのFlash値がなくなった
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にアクセスできます。 –
ありがとうございますが、フラッシュメッセージがどのように動作しているかわかります。問題は次の要求ですが、依然として消えています。 – mrHooty
https://laracasts.com/series/laravel-5-from-scratch/episodes/15 - このリンクをクリックすると、より良い結果が得られます。 –