使用消息“ SQLSTATE [42S22]”照亮/数据库/ QueryException:找不到列:1054

时间:2018-12-28 05:49:46

标签: laravel eloquent

我试图使用php artisan tinker创建管理员用户。当我尝试保存时,它返回错误。请帮助我解决问题。

这是错误

  

带有消息'SQLSTATE [42S22]的Illuminate / Database / QueryException:   未找到列:1054“字段列表”中的未知列“ admin”(SQL:   更新usersupdated_at = 2018-12-28 05:41:31,admin = 1   其中id = 1)'

enter image description here

3 个答案:

答案 0 :(得分:1)

数据库的“用户”表中没有名为“ admin”的列。添加“管理员”列。 这样可以解决错误。

答案 1 :(得分:0)

请删除admin中的$fillable,然后重试

答案 2 :(得分:0)

您必须创建一个迁移,其中包含要添加到数据库架构的新列。

示例:(这将添加一个以admin作为默认值的TINYINT 0列)

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddsAdminColumnToUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->tinyInteger('admin')->default(0);
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('admin');
        });
    }
}

Read more about Laravel Migrations here.