找不到基本表或视图:1146表

时间:2018-08-22 12:19:39

标签: laravel

Illuminate \ Database \ QueryException(42S02) SQLSTATE [42S02]:找不到基本表或视图:1146表'mmictltd.admins'不存在(SQL:从admins中选择*,其中email = kayondoronald2015@gmail.com限制1)< / p>

我的create_admin_table.php

<?php

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

class CreateAdminTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('admin', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('admin');
    }
}

Laravel error illustration

2 个答案:

答案 0 :(得分:7)

您迁移中的表称为“管理员”,但在查询中您正在寻找“管理员”。

您可以通过$ table在模型中指定表名:

/**
 * The table associated with the model.
 *
 * @var string
 */
protected $table = 'admin';

Laravel约定在这种情况下,表名应为复数形式:https://laravel.com/docs/5.6/eloquent

因此,我建议您将迁移从“管理员”更改为“管理员”。

答案 1 :(得分:0)

默认情况下,laravel使用“ snake case” ,除非明确指定其他名称,否则将使用类的复数名称作为表名称。因此,在您的 Admin 雄辩模型中,您必须将案例的 $ table 属性定义为

user

https://laravel.com/docs/5.6/eloquent#eloquent-model-conventions

处检查雄辩的模型类对流问题