У меня проблема при переносе таблицы. эта проблема приведена ниже - PullRequest
1 голос
/ 30 сентября 2019

Этот тип вопроса уже задается в stackoverflow. Есть некоторые решения, но у меня та же проблема, и я не могу ее исправить.

public function up()
{
    Schema::create('items', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->integer('category_id')->unsigned();
        $table->string('name');
        $table->text('description');
        $table->integer('price');
        $table->string('image');
        $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
        $table->timestamps();
    });

}

Я получаю эту ошибку при попытке миграции:

Подсветка \ База данных \ QueryException: SQLSTATE [HY000]: общая ошибка: 1005 Невозможно создать таблицу project_rms. #sql-4448_15f (номер ошибки: 150 «Неправильно сформировано ограничение внешнего ключа») (SQL: изменить таблицу items добавить ограничение items_category_id_foreign внешний ключ(category_id) ссылки categories (id) на каскад удаления)

Пожалуйста, помогите мне найти решение, спасибо.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

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

Вот рабочий пример кода:

public function up()
{
    Schema::create('items', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->unsignedBigInteger('category_id'); //this line is changed
        $table->string('name');
        $table->text('description');
        $table->integer('price');
        $table->string('image');
        $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
        $table->timestamps();
    });

}
0 голосов
/ 30 сентября 2019

Неправильно сформировано ограничение внешнего ключа. Думаю, вы найдете решение здесь. введите описание ссылки здесь

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