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', ]; }