具有用户友好消息的完整性约束异常处理 Yii2

Integrity constraint exception handling with user friendly message Yii2

我有一个带三重键的 table,现在我想在重复组合键而不是这个时显示 "friendly" 警告:

Integrity constraint violation – yii\db\IntegrityException SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'CP MEIJ 01/15-2' for key 'PRIMARY' The SQL being executed was: INSERT INTO modelo03 (planificacion_fk, cargo_fk, medida_apl_fk, modelo03_cant, dic_fk) VALUES ('CP MEIJ 01/15', 3, 2, 4, 'SA')

Error Info: Array ( [0] => 23000 [1] => 1062 [2] => Duplicate entry 'CP MEIJ 01/15-2' for key 'PRIMARY' )

Caused by: PDOException SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'CP MEIJ 01/15-2' for key 'PRIMARY'

in C:\wamp\www\prueba_protected\vendor\yiisoft\yii2\db\Command.php at line 768

实现这一目标的方法是什么?对不起我的英语

停止为新条目插入相同的 planificacion_fk。错误表明,您正在插入一个相同的主键值,该值对于所有条目都必须是唯一的。

如果你使用Model(ActiveRecord is subclass of the Model class) to insert this data to the database, you can use UniqueValidator.

在这种情况下模型将不会被保存,您可以使用 $model->errors.

获取错误列表

您可以将验证器配置为使用您自己的错误消息。