我在注册后向用户发送欢迎消息。我已经在控制器中修改了特质方法:
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
Session::set('message','messages.welcome');
return redirect($this->redirectPath())->with('message', 'messages.welcome');
}
我也尝试过$request->session()->put('message','messages.welcome');
而不是Session::set('message','messages.welcome');
,但它给了我相同的结果。
,然后我在这样的视图中显示消息:
@if (session('message'))
@include(session('message'))
@endif
但是,当我刷新视图时,消息消失了,如何保留消息直到用户注销?
尝试使用:
$request->session()->put('message','messages.welcome');
文档仅建议使用助手功能或$request
进行会话:https://laravel.com/docs/5.3/session#storing#storingdata
首先写入使用语句
use IlluminateSupportFacadesSession;
然后修改您的方法:
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
#$request->session()->put('message', 'messages.welcome'); #this will also work
Session::put('message', 'messages.welcome');
return redirect($this->redirectPath());
}
然后,当您需要时,只需致电Session::get('message');