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

时间:2015-02-18 16:35:23

标签: php yii

我有一张带三键的桌子,现在我想展示一个友好的"如果我重复键组合而不是这个,则发出警告:

  

完整性约束违规 - yii \ db \ IntegrityException SQLSTATE [23000]:完整性约束违规:1062重复条目   ' CP MEIJ 01 / 15-2'关键' PRIMARY'正在执行的SQL是:INSERT   INTO modelo03planificacion_fkcargo_fkmedida_apl_fk,   modelo03_cantdic_fk)价值观(' CP MEIJ 01/15',3,2,4,' SA')

     

错误信息:数组(       [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行

这是实现这一目标的方法吗?对不起我的英文

2 个答案:

答案 0 :(得分:1)

如果您使用ModelActiveRecordModel类的子类)将此数据插入数据库,则可以使用UniqueValidator

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

您可以配置验证程序以使用您自己的错误消息。

答案 1 :(得分:0)

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