我知道这个问题已经被问了很多次了,但我尝试了所有的解决方案,它仍然给我一个错误。
我想迁移我的表:
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”,但仍然不起作用。
有小费吗?
1条答案
按热度按时间hmmo2u0o1#
创建新的迁移文件时,laravel会自动添加到start datetime中,如下所示
2018_08_10_111004_
为了检测必须首先创建哪个迁移。正如您在注解中所示,您的迁移文件是2018_08_31_141536_create_fiches_table.php
以及2018_09_03_141649_create_equipes_table.php
您必须将此迁移中的一个更改为第一个,称为第二个迁移第一个迁移。例如