Обработка исключений из ограничений целостности с помощью удобного сообщения Yii2

0

У меня есть таблица с тройным ключом, теперь я хочу показать "дружественное" предупреждение, если я повторяю комбинацию клавиш вместо этого:

Целостность нарушение ограничения - юй\дб\IntegrityException SQLSTATE [23000]: Integrity нарушение ограничения: 1062 Дублированной запись 'CP Meij 01/15-2' для ключа 'PRIMARY' SQL, выполняется было: INSERT INTO modelo03 (planificacion_fk, cargo_fk, medida_apl_fk, modelo03_cant, dic_fk) VALUES ('CP MEIJ 01/15', 3, 2, 4, 'SA')

Информация об ошибке: Array ([0] => 23000 [1] => 1062 [2] => Дублировать запись "CP MEIJ 01/15-2" для клавиши "PRIMARY")

Вызвано: PDOException SQLSTATE [23000]: Нарушение ограничения целостности: 1062 Дублирующая запись "CP MEIJ 01/15-2" для ключа "PRIMARY"

в C:\wamp\www\prueba_protected\vendor\yiisoft\yii2\db\Command.php в строке 768

как можно было бы это сделать? Извините за мой английский

Теги:
yii

2 ответа

0
Лучший ответ

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

  • 0
    Я знаю, что это за ошибка, но я хочу показать мне хорошее предупреждение, нет этого экрана
  • 0
    Привет, Эрнесто, вы нашли способ забрать ошибки MySQL?
Показать ещё 1 комментарий
0

Если вы используете Model (ActiveRecord - подкласс класса Model), чтобы вставить эти данные в базу данных, вы можете использовать UniqueValidator.

В этом случае модель не будет сохранена, и вы можете получить список ошибок с ошибками $model->errors.

Вы можете настроить валидатор для использования собственного сообщения об ошибке.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню