无法获取会话存储值laravel 5.4

时间:2018-10-17 06:29:59

标签: laravel session-variables

enter image description here我要在单击其他用户列表时存储我的用户ID,使用此方法将user_id存储在会话中

Session::put('user_id', $request->id);

,然后使用

在另一种控制器方法中获取此user_id
$id = Session::get('user_id');

但是每次单击不同的列表用户时,我得到的ID相同而不是不同。 我究竟做错了什么?我需要销毁会话吗?会话值未覆盖。

4 个答案:

答案 0 :(得分:1)

您可以使用会话全局帮助器将数据存储在会话中

session(['key' => 'value']);

使用全局帮助器检索数据

$value = session('key');

或者您可以使用请求实例

$request->session()->put('key', 'value');

使用请求实例检索数据

$value = $request->session()->get('key', 'default');

更多详细信息link

答案 1 :(得分:0)

您是否检查了会话中是否存储了良好的$ request-> id?

答案 2 :(得分:0)

如果使用后不需要会话user_id,则可以使用以下命令。

检索和删除项目。

$id = $request->session()->pull('user_id', 'default')]);

pull方法将从会话中检索并删除项目 阅读更多:https://laravel.com/docs/5.1/session

答案 3 :(得分:0)

在类声明的顶部添加以下代码

use Session;

并在函数中添加以下代码以打印所有会话值

$arrMixSessionData   = Session::all();
echo '<pre>';
print_r($arrMixSessionData);
echo '<pre/>';

要检索选定的会话变量,您需要在函数声明中添加请求变量,并按以下方式使用

function test(Request $request){
    $value = $request->session()->get('key', 'default');
}

希望它会对您有所帮助。