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');
}
}
答案 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
处检查雄辩的模型类对流问题