laravel:外键迁移

9udxz4iz  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(387)

我知道这个问题已经被问了很多次了,但我尝试了所有的解决方案,它仍然给我一个错误。
我想迁移我的表:

class CreateFichesTable extends Migration
{

public function up()
{
    Schema::create('fiches', function (Blueprint $table) {
        $table->engine = 'InnoDB';
        $table->increments('id');
        $table->string('type');
        $table->string('nom');
        $table->string('description');
        $table->string('image');
        $table->integer('equipe_id')->unsigned();
        $table->timestamps();
    });

    Schema::table('fiches', function(Blueprint $table)
    {
        $table->foreign('equipe_id')->references('id')->on('equipes');
    });
}

}

class CreateEquipesTable extends Migration
{

public function up()
{
    Schema::create('equipes', function (Blueprint $table) {;
        $table->increments('id');
        $table->string('nom');
        $table->string('image');
        $table->timestamps();
    });
}

}
我得到:

Exception trace:

1   PDOException::("SQLSTATE[HY000]: General error: 1215 Cannot add foreign 
key constraint")

我试图强制使用引擎“innodb”,但仍然不起作用。
有小费吗?

hmmo2u0o

hmmo2u0o1#

创建新的迁移文件时,laravel会自动添加到start datetime中,如下所示 2018_08_10_111004_ 为了检测必须首先创建哪个迁移。正如您在注解中所示,您的迁移文件是 2018_08_31_141536_create_fiches_table.php 以及 2018_09_03_141649_create_equipes_table.php 您必须将此迁移中的一个更改为第一个,称为第二个迁移第一个迁移。
例如

2018_08_31_141536_create_fiches_table.php 
2018_08_30_141649_create_equipes_table.php

相关问题