Ошибка миграции Laravel Невозможно добавить ограничение внешнего ключа

Я пытаюсь запустить свои миграции, но продолжаю получать следующую ошибку.

 SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `votes` add constraint `votes_topic_id_foreign` foreign key (`topic_id`) references `voting_topic_results` (`division_id`))

Я пробовал оба решения в этом пост без радости.

Мои два файла миграции:

голосования_topic_results

public function up()
{
    Schema::create('voting_topic_results', function (Blueprint $table) {
        $table->id();
        $table->integer('division_id');
        $table->dateTime('date');
        $table->string('title');
        $table->string('description')->nullable();
        $table->integer('aye_count');
        $table->integer('noe_count');
    });
}

голоса

public function up()
{
    Schema::create('votes', function (Blueprint $table) {
        $table->id();
        $table->integer('topic_id');
        $table->foreign('topic_id')->references('division_id')->on('voting_topic_results');
        $table->integer('user_id');
        $table->foreign('user_id')->references('id')->on('users');
        $table->integer('user_aye_count')->nullable();
        $table->integer('user_noe_count')->nullable();
        $table->unique(['topic_id', 'user_id']);
    });
}

ЭДИ***

Я обновил свой код до того, к чему относился соответствующий вопрос, и я все еще получаю ту же ошибку.


person CIB    schedule 01.02.2021    source источник
comment
Если вы объявили отношения в своих моделях, просто избегайте добавления внешних ключей в схему.   -  person Ahmad Karimi    schedule 01.02.2021
comment
Повторяющийся вопрос дает вам точный ответ. Однако канонический ответ, содержащий все возможные причины этого сообщения об ошибке, содержится в следующем вопросе SO: stackoverflow.com/questions/1457305/   -  person Shadow    schedule 01.02.2021
comment
В ваших схемах voting_topic_results ваш столбец division_id не имеет того же типа, что и ваше объявление в votes. $table->integer('division_id')->unique(); не равно $table->integer('topic_id')->unsigned(); поэтому возникает ошибка. После исправления убедитесь, что ваши схемы voting_topic_results переносятся до votes.   -  person Atchiiii    schedule 01.02.2021
comment
@Atchiiii Я только что удалил ->unique() и ->unsigned(), и все равно выдает ту же ошибку.   -  person CIB    schedule 01.02.2021
comment
@CIB убедитесь, что вы переносите схему voting_topic_results до votes.   -  person Atchiiii    schedule 01.02.2021
comment
@Atchiiii да, voting_topic_results запускается первым   -  person CIB    schedule 01.02.2021