为什么 laravel 显示 "Foreign key constraint is incorrectly formed"?

Why laravel showing "Foreign key constraint is incorrectly formed"?

我正在尝试进行 laravel 迁移并在两个表之间建立外键约束。 这是我的一些代码:

create_user_education_table

class CreateUserEducationTable extends Migration
{
    public function up()
    {
        Schema::create('user_education', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')
                ->references('id')
                ->on('users')
                ->onUpdate('CASCADE')
                ->onDelete('CASCADE');
            $table->unsignedBigInteger('institution_id');
            $table->foreign('institution_id')
                ->references('id')
                ->on('education_institutions')
                ->onUpdate('CASCADE')
                ->onDelete('CASCADE');
            $table->string('degree')->nullable();
            $table->string('grade')->nullable();
            $table->year('start_year')->nullable();
            $table->year("end_year")->nullable();
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::table('user_education', function (Blueprint $table) {
            $table->dropForeign(['user_id']);
            $table->dropForeign(['institution_id']);
        });
        Schema::dropIfExists('user_education');
    }
}

create_educational_institution_table

class CreateEducationInstitutionsTable extends Migration
{

    public function up()
    {
        Schema::create('education_institutions', function (Blueprint $table) {
            $table->id();
            $table->string('institution_name');
            $table->string('country');
            $table->string('city');
            $table->string('logo')->nullable();
            $table->text('description')->nullable();
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('education_institutions');
    }
}

在迁移```user_education_table`` 时抛出以下错误。

这里有什么意义?

您必须先创建 education_institutions table,然后才能创建 user_education table