具有用户友好消息的完整性约束异常处理 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
.
获取错误列表
您可以将验证器配置为使用您自己的错误消息。
我有一个带三重键的 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
.
您可以将验证器配置为使用您自己的错误消息。