微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel - errno: 150 外键约束的格式不正确 - 一对多关系

如何解决Laravel - errno: 150 外键约束的格式不正确 - 一对多关系

我有两个模型:Concorso 和 State。关系如下: Concorso 属于一个国家;一个州有很多 Concorso。 请注意,Concorsi 是 Concorso 的复数形式。

create_concorsi_table

public function up()
    {
        Schema::create('concorsi',function (Blueprint $table) {
            $table->id();
            $table->foreignId('state_id')->constrained();
            $table->string('nome');
            $table->text('descrizione');
            $table->date('data_accettazione');
            $table->date('data_scadenza');
            $table->timestamps();
        });
    }



create_states_table

  public function up()
    {
        Schema::create('states',function (Blueprint $table) {
            $table->id();
            $table->string('status');
            $table->timestamps();
        });
    }



当我运行“PHP artisan migrate”时,我收到了这个错误

sqlSTATE[HY000]: General error: 1005 Can't create table `inertia_example_1`.`concorsi` (errno: 150 "Foreign key constraint is incorrectly formed") (sql: alter table `concorsi` add constraint `concorsi_state_id_foreign` foreign key (`state_id`) references `states` (`id`))

我真的无法理解这个问题。语法似乎正确,可能是什么问题?

谢谢!

解决方法

Concorsi 的创作需要状态。迁移创建过程是顺序的。检查migrations in Laravel

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。