Получение ошибки при попытке добавить ограничение внешнего ключа с помощью миграций Laravel - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь выяснить внешние ключи, но при попытке выполнить миграцию после добавления: $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); в мой код я получаю эту ошибку:

"SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
  : alter table `images` add constraint `images_user_id_foreign` foreign key
  (`user_id`) references `users` (`id`) on delete cascade)
"

Миграция пользователей:

Schema::create('users', function (Blueprint $table) {
                $table->increments('id');
                $table->string('first_name');
                $table->string('last_name');
                $table->string('username');
                $table->string('password');
                $table->string('email');
                $table->string('profile_picture')->nullable()->default('image');
                $table->timestamps();
                $table->rememberToken();
                $table->engine = 'InnoDB';
            });

Миграция изображений:

Schema::create('images', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('description')->nullable()->default(null);
            $table->integer('user_id');
            $table->foreign('user_id')
                  ->references('id')
                  ->on('users')
                  ->onDelete('cascade');
            $table->string('file_name');
            $table->string('upvotes')->default(0);
            $table->string('downvotes')->default(0);
            $table->string('views')->default(0);
            $table->timestamps();
            $table->engine = 'InnoDB';
        });

1 Ответ

0 голосов
/ 26 мая 2018

Это, вероятно, потому что вы используете другой тип данных, попробуйте сделать тот же тип данных, и он должен работать.Int - bigInt или string Int, пожалуйста, проверьте.

Также добавьте его в два шага, и это тоже полезно сделать без знака.

в противном случае это должна быть какая-то ошибка при наборе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...