Laravel / lumen несовместимое ограничение внешнего ключа - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть две таблицы, одна из них profiles. Ниже показано, как файл миграции для profiles выглядит так:

    public function up()
    {
    Schema::create(
        'profiles', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique()->notNullable();
            $table->string('phone');
            $table->integer('category')->unsigned();
            $table->string('password');
            $table->timestamps();

            $table->foreign('category')
                ->references('id')
                ->on('categories')
                ->onDelete('cascade');
        });
    }

profiles имеет внешний ключ id в своем локальном category field. Файл миграции для таблицы categories выглядит так

public function up()
{
    Schema::create('categories', function (Blueprint $table) {
        $table->integer('id')->unsigned();
        $table->primary('id');
        $table->string('name');
        $table->string('abbrv');
        $table->timestamps();
    });
}

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

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ( authdb . профили , CONSTRAINT profiles_category_foreign FOREIGN KEY ( категория ) REFERENCES категории ( ID ) ON DELETE CASCADE) (SQL: insert into профили ( имя , электронная почта , телефон , категория , пароль , updated_at , create_at ) values (Salim, jon.doe@gmail.com, 2557000000, 2, $2y$10$OgpgD61e9Ihob4oE1LoRZuMkMY/1u6yLzxPKvs36TAQtQzSfqShMS, 2020-04-19 13:34:20, 2020-04- 19 13:34:20))

Как определить ограничение внешнего ключа, чтобы оно не выдавало ошибки ограничения?

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