Laravel流明另一个表id关系

时间:2015-08-22 14:01:04

标签: laravel relationship lumen

我做错了什么?

选项 - 迁移文件

Schema::create('option', function (Blueprint $table) {
      $table->increments('id');
      $table->integer('contents_content_id')->unsigned();
      $table->timestamps();
      $table->foreign('contents_content_id')
      ->references('content_id')
      ->on('contents');

});

contents-migration-file

 Schema::create('contents', function (Blueprint $table) {
          $table->increments('id');
          $table->integer('content_id');
          $table->timestamps();
   });

错误

  

[照亮\数据库\ QueryException]     SQLSTATE [HY000]:常规错误:1215无法添加外键约束(SQL:alter table option添加约束option_content_content_id_foreign外键(content_content_id)引用contentscontent_id))

     

[PDOException]     SQLSTATE [HY000]:常规错误:1215无法添加外键约束

1 个答案:

答案 0 :(得分:0)

问题是option表在contents表之前创建,当您在content_id上引用content时,content表不会还存在。

请注意:

  

每个迁移文件名都包含一个时间戳,允许Laravel确定迁移的顺序。

所以您现在要做的就是从database/migrations文件夹中删除迁移并按顺序重新创建:首先options然后contents