如何在登录时变修改用户信息?
我自己搭建后台,管理员登录时验证通过后,修改其数据表最后登录时间字段。我在登录方法使用$user=Auth::guard('admin')->user();
拿到当前用户,然后$user->update($data);
,发现不行,必须手动使用where语句$user->where('id',$id)->update($data);
。但是$user
里面已经是当前用户了,有了id信息,为啥不行啊?
谢谢解答!
public function login_do(Request $request){
$this->validate(request(),[
'name'=>'required|string|max:30|min:2',
'password'=>'required|string|min:6'
]);
$data=['name'=>$request->name,'password'=>$request->password];
$login_time=date('Y-m-d H:i:s',time());
if(\Auth::guard('admin')->attempt($data)){
$user=Auth::guard('admin')->user();
$user->update(['login_time'=>$login_time]);
return redirect('/admin/index');
}
else{
return \Redirect::back()->withErrors('用户名或密码不正确');
}
}
推荐文章: