Удаление данных в приложении Laravel должно иметь ограниченное поведение, но это не так - PullRequest
1 голос
/ 11 февраля 2020

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

Schema::create('sectors', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
}

Schema::create('functions', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->foreign('sector_id')->references('id')->on('sectors')->onDelete('restrict')->onUpdate('cascade');
}

Итак, когда я удаляю какую-то строку 'сектор', удаление происходит успешно, но я не должен был получить MySQL ошибка # 1451, поскольку действие onDelete установлено как RESTRICT? И то же самое происходит, когда я удаляю данные непосредственно из базы данных, через phpMyAdmin. Что не так?

1 Ответ

0 голосов
/ 11 февраля 2020

Нет, как раз наоборот, когда вы удаляете строку 'sector', которая связана (как 'sector_id') с некоторыми 'function(s)' записями, вы должны получить ошибку MySQL # 1451, так как действие onDelete установить как ОГРАНИЧЕНИЕ

Для более подробной информации

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