错误号:150“;外键约束的格式不正确Laravel
物品迁移错误号:150“;外键约束的格式不正确Laravel,laravel,Laravel,物品迁移 Schema::create('articles', function (Blueprint $table) { $table->increments('id'); $table->integer('people_id'); $table->string('title'); $table->timestamps(); $table->fo
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->integer('people_id');
$table->string('title');
$table->timestamps();
$table->foreign('author_id')->references('id')->on('people');
});
人口迁移
Schema::create('people', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name');
$table->string('last_name');
$table->string('twitter');
$table->timestamps();
});
错误
我不知道我做错了什么,这两个实体对我来说都是一致的,我不知道我为什么会收到错误150-
$table->integer('people_id')->unsigned();
换行-
$table->foreign('author_id')->references('id')->on('people');
对此-
$table->foreign('people_id')->references('id')->on('people');
检查
迁移的顺序。首先运行people
表迁移,然后运行articles
表迁移。这是因为您尚未定义author\u id字段
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('author_id');
$table->string('title');
$table->timestamps();
$table->foreign('author_id')->references('id')->on('people');
});
检查您的人员迁移表是否先运行,然后运行文章迁移(很高兴它有帮助:)
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('author_id');
$table->string('title');
$table->timestamps();
$table->foreign('author_id')->references('id')->on('people');
});