mingyunyuziyou

laravel中不使用 remember_token时退出报错,如何解决?

作者: 秒速五厘米     
 



laravel中不使用 remember_token时退出报错,如何解决?


在laravel5.5中,如果不使用remember_token登陆,那么,在退出登陆状态时会报错,比如下面是本人程序的报错,

Illuminate \ Database \ QueryException (42S22)

SQLSTATE[42S22]: Column not found: 1054 Unknown column'remember_token' in 'field list' (SQL: update `admin_users` set`remember_token` = OuB1UKZeDasyHUXQCZZ0iMSzKzYUejypth3G35pCgL6WanIAxsYFwQ5p5xH3where `id` = 1)

解决问题的办法也很简单,这个remember_token 是定义在

D:\wamp64\www\laravel\larablog\vendor\laravel\framework\src\Illuminate\Auth\Authenticatable.php

protected $rememberTokenName = 'remember_token';

在你创建的模型中(我这里是User),改写掉这个rememeber_token,返回后程序不会再去数据库中找这一条了。如下,


use Illuminate\Notifications\Notifiable;use Illuminate\Foundation\Auth\User as Authenticatable;class User extends Authenticatable
{    ...    //加上下面这一句,相当于把$rememberTokenName清空,
    protected $rememberTokenName = '';    ....    /**
     * The attributes that are mass assignable.
     *
     * @var array     */
    protected $fillable = [        'name', 'password',
    ];    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array     */
    // protected $hidden = [
    //     'password', 'remember_token',
    // ];
    protected $hidden = [        'password',
    ];
}