enter image description here我要在单击其他用户列表时存储我的用户ID,使用此方法将user_id
存储在会话中
Session::put('user_id', $request->id);
,然后使用
在另一种控制器方法中获取此user_id
$id = Session::get('user_id');
但是每次单击不同的列表用户时,我得到的ID相同而不是不同。 我究竟做错了什么?我需要销毁会话吗?会话值未覆盖。
答案 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');
}
希望它会对您有所帮助。