Laravel注销记住令牌错误

时间:2017-05-23 13:29:39

标签: laravel token logout

这次我试图注销用户...我很确定我的路由和控制器都很好,但我不知道为什么我的错误看起来像这样(当我试图注销时:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'remember_token' in 'field list' 

这是我在控制器中的方法:

public function logout()
{
    Auth::logout();
    return redirect('/');
}

我的退出是视图中的链接......有什么问题?

2 个答案:

答案 0 :(得分:2)

要退出在laravel中工作,您应在users表中添加remember_token列。或者您用于身份验证的任何表格

答案 1 :(得分:1)

我正在使用Laravel 5.5并阅读The User Provider Contract,我在StackOverflow中看到了另一个问题here的答案:

当User类继承自Authenticatable时,Authenticatable类使用AuthenticatableContract,并实现获取和设置用户令牌的方法。

因此,一个简单的解决方案是在User类(或等效的)中覆盖(或实现)这些方法:

public function getRememberToken()
{
    return $this->token;
}

public function setRememberToken($value)
{
    $this->token = $value;
}

public function getRememberTokenName()
{
    return 'token';
}

您可以替换“令牌”并使用您想要的任何单词。