我試圖設置會話,但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