保持laravel会话变量直到用户注销

时间:2016-03-26 08:26:34

标签: session laravel-4 session-variables

我对用户进行了简单的身份验证,在UserController中我有一个名为postLogin()的函数。

public function postLogin()
{
 if(Auth::user()->attempt($credentials))
  {
  return Redirect::intended('desk')->with('stream',"SomeData");;
  }
}

使用上面的代码我可以使用" SomeData"成功登录我正在通过

检索它的变量
 <?php
 $class = Session::get('stream');
 var_dump($class);
 ?>

第一次进入&#34; / desk&#34; url它将值完全转换为&#34; SomeData&#34;但是一旦我刷新页面,它就会重置会话,并且值变为空。

如何在用户退出之前保留此值。

1 个答案:

答案 0 :(得分:0)

来自laravel官员documentation

Flash数据

  

有时您可能希望仅在下一个会话中存储会话中的项目   请求。您可以使用flash方法执行此操作。数据存储在   使用此方法的会话仅在后续会话期间可用   HTTP请求,然后将被删除。 Flash数据主要是有用的   对于短期状态消息:

$request->session()->flash('status', 'Task was successful!');
  

如果你需要保留你的闪存数据以获得更多请求,那么你   可以使用reflash方法,它将保留所有的Flash数据   周围有额外的请求。如果你只需要保持具体   闪存数据,您可以使用keep方法:

$request->session()->reflash();

$request->session()->keep(['username', 'email']);