使用用户友好消息Yii2进行完整性约束异常处理


Integrity constraint exception handling with user friendly message Yii2

我有一个带有三重键的表,现在如果我重复键组合而不是这个,我想显示一个"友好"警告:

完整性约束冲突–yii''db''IntegrityException SQLSTATE[23000]:完整性约束违规:1062重复条目键"PRIMARY"的"CP MEIJ 01/15-2"正在执行的SQL为:INSERT转换为modelo03planificacion_fkcargo_fkmedida_apl_fkmodelo03_cantdic_fk)值('CP MEIJ 01/15',3,2,4,'SA')

错误信息:数组([0]=>23000[1] =>1062[2] =>密钥"PRIMARY"的重复条目"CP MEIJ 01/15-2")

引起原因:PDOException SQLSTATE[23000]:完整性约束违规:1062密钥"PRIMARY"的重复条目"CP MEIJ 01/15-2"

位于C:''wamp''www''preba_protected''vendor''yiisoft''yii2''db''Command.php768线

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

如果使用Model(ActiveRecordModel类的子类)将此数据插入数据库,则可以使用UniqueValidator。

在这种情况下,模型将不会被保存,您可以使用$model->errors获得错误列表。

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

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