我有一个laravel5.5项目在迁移我写这个
Schema::create('item_gifts', function (Blueprint $table) {
$table->increments('id');
$table->string('item_gift_name');
$table->integer('item_gift_item_id_from')->unsigned();
$table->foreign('item_gift_item_id_from')->references('id')->on('items');
$table->integer('item_gift_item_id_to')->unsigned();
$table->foreign('item_gift_item_id_to')->references('id')->on('items');
$table->integer('item_gift_quantity');
$table->integer('item_gift_min_order');
$table->timestamps();
});
但我总是犯这个错误
In Connection.php line 664:
SQLSTATE[HY000]: General error: 1005 Can't create table `lar
avel`.`#sql-2830_22f` (errno: 150 "Foreign key constraint is
incorrectly formed") (SQL: alter table `item_gifts` add con
straint `item_gifts_user_id_foreign` foreign key (`user_id`)
references `items` (`id`))
In Connection.php line 458:
SQLSTATE[HY000]: General error: 1005 Can't create table `lar
avel`.`#sql-2830_22f` (errno: 150 "Foreign key constraint is
incorrectly formed")
我需要的是连接物品\u礼物\u物品\u id从物品\u礼物与物品中的id我尝试了许多解决方案,但没有什么是工作感谢。。
2条答案
按热度按时间vmjh9lq91#
出现此错误是因为您手动创建了items表,而id只是其中的一个整数:
创建一个新的迁移并使其在
item_gists
一:j9per5c42#
请尝试以下代码: