我试图设置会话,但user_id
列总是null
。其他列工作正常。是user_id
保留任何东西?这是否发生在任何人身上? 我在这里尝试的是验证用户,将数据保存到会话并重定向到仪表板。 下面是代码:Laravel会话表user_id始终为空
public function login(Request $request)
{
$validator = validator::make($request->all(),[
'username' => 'required',
'password' => 'required'
]);
if($validator->fails()){
return redirect('/')
->withInput()
->withErrors($validator);
}
$username = $request->get('username');
$user = User::where('username', $username)->first();
$checkpass = false;
if(!empty($user)){
$password = $request->get('password');
$dbpass = $user->getAttributes()['pass'];
$checkpass = Hash::check($password, $dbpass);
if($checkpass){
//saving session after success login check
$request->session()->put('id',\Session::getId());
$request->session()->put('user_id', $user->id);
$request->session()->put('ip_address', $request->ip());
$request->session()->put('user_agent', $request->header('User-Agent'));
$request->session()->put('payload', base64_encode($request->getContent()));
$request->session()->put('last_activity', time());
//redirect to dashboard
return redirect('/dashboard');
}
}
if(empty($user) || $checkpass == false){
$errors = new MessageBag(['password'=>['Email and/or password invalid.']]);
return redirect('/')
->withErrors($errors)
->withInput(Input::except('password'));
}
}
你可以显示代码的其余部分从哪里得到值 – tam5
@tam仅$ request-> session() - > put('user_id',11);给我null其他人都很好。有没有发生过任何人? – BulletProof47
这不是我问的问题,从你的问题中就很清楚。我问了更多信息。尽管如此,我有一种预感。当您将请求作为已通过身份验证的用户时,user_id仍然为空吗? – tam5