使用$user->update(), 一次更新多个字段。
在UsersController.php的confirmEmail方法里面:
public function confirmEmail($token)
{
$user = User::where('activation_token', $token)->firstOrFail();
$user->update([
'activated' => 1,
'activation_token' => null,
]);
dd($user);
/* $user->activated = true;
$user->activation_token = null;
$user->save(); */
Auth::login($user);
session()->flash('success', '成功激活账号');
return redirect()->route('users.show', $user);
}
访问激活链接后,登陆的时候还是提示没有激活!
经过排查,发现要把模型User.php里面的$fillable变量数组加上这两个属性:activated, activation_token,
$user->update()方法才能一次更新多个字段!
修改$fillable以前,activation_toke, activated 如下图:
修改$fillable以后,activation_toke, activated 如下图:
推荐文章: