【问题标题】:Column not found: 1054 Unknown column 'remember_token' in 'field list'?未找到列:1054“字段列表”中的未知列“remember_token”?
【发布时间】:2022-03-27 06:08:06
【问题描述】:

我正在尝试做Auth:logout();,但我得到了这个错误。我真的需要这个专栏还是可以避免?

Route::get('/logout', 'MainController@logout');

  public function logout(){
      Auth::logout();

      return response()->json([
        'isLoggedIn' => false
        ]);
    }

【问题讨论】:

    标签: laravel laravel-5 laravel-5.2


    【解决方案1】:

    您似乎已从users 表中删除了remember_token。 Laravel 默认使用此字段,因此您只需将字段添加回表格即可:

    $table->rememberToken();
    

    当然你可以重写一些 Laravel 方法来禁用这个功能,但我不建议这样做。

    【讨论】:

    • 没错!它不见了。 :)
    • 那么,如何更改此表的名称...我添加了一个 getRememberTokenName 函数来覆盖 Auth\User 类,但是,在注销时它仍在查找此列。跨度>
    【解决方案2】:

    您可以通过在您的用户模型上使用它来避免这种情况。

     /**
    * Overrides the method to ignore the remember token.
    */
    public function setAttribute($key, $value)
    {
    $isRememberTokenAttribute = $key == $this->getRememberTokenName();
    if (!$isRememberTokenAttribute)
    {
      parent::setAttribute($key, $value);
    }
    }
    

    【讨论】:

      【解决方案3】:

      只需在您的 create_user_table 迁移中转到“向上”功能并添加

      $table->rememberToken();
      

      到架构 记得也重置迁移并执行一个新的 db:seed

      【讨论】:

        【解决方案4】:

        运行php artisan migrate:fresh 解决了我的问题。但是,我确实已经准备好迁移脚本,可以在运行该命令时执行。

        【讨论】:

          【解决方案5】:

          您需要为您的users 表添加升级。

          php artisan make:migration AddToTokenToUsersTable
          

          创建了一个类似database/migrations/2022_03_26_190557_add_to_token_to_users_table.php 的文件。然后你像这样编辑这个文件:

          class AddToTokenToUsersTable extends Migration
          {
              public function up()
              {
                  Schema::table('users', function (Blueprint $table) {
                      $table->rememberToken();
                  });
              }
          
              public function down()
              {
                  Schema::table('users', function (Blueprint $table) {
                      $table->dropRememberToken();
                  });
              }
          }
          

          然后,运行

          php artisan migrate
          

          【讨论】:

            猜你喜欢
            • 2013-05-26
            • 2021-10-24
            • 2021-12-03
            • 2019-01-25
            • 1970-01-01
            • 2017-08-09
            • 2020-11-23
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多