无法在Laravel迁移中建立关系

时间:2020-01-21 22:30:50

标签: laravel foreign-keys database-migration

我正在尝试在成员表中的“ user_id”和用户表中的“ id”之间建立关系。得到错误:150“外键约束格式不正确”。我正在将Users表迁移到member表之前。

$table->integer('user_id')->unsigned()->nullable();
   $table->foreign('user_id')->references('id')->on('users');

1 个答案:

答案 0 :(得分:0)

您的语法是正确的,因此很可能是几个问题之一:

  1. 您的users表实际上未被称为users
  2. 您实际上是在用户迁移之前创建成员迁移的,然后返回并编辑了成员迁移。 Laravel按照文件名中的时间戳顺序运行迁移,因此您需要编辑成员迁移的文件名,或者使用外键定义创建新迁移。
  3. 您正在尝试在现有数据库的顶部运行现有迁移。运行php artisan migrate:refresh将所有内容回滚并重新运行。 请注意,这会破坏所有您的数据,因此请确保它处于测试环境中。