【发布时间】:2013-06-27 05:54:58
【问题描述】:
如何在 YII 中向 db 插入值时在所有控制器上添加完整性约束检查?最简单的方法是什么?
if($model->save())
$this->redirect(array('view','id'=>$model->id));
此处出现异常
CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '9-5' for key 'xyz'. The SQL statement executed was: INSERT INTO `tbl_table` (`xyz`, `x`, `x`, `x`, `x`, `x`, `x`, `created`) VALUES (:yp0, :yp1, :yp2, :yp3, :yp4, :yp5, :yp6, NOW())
【问题讨论】:
-
不确定,您究竟想达到什么目的 - 但控制器是错误的地方。您应该将这种检查放入模型中,可能在
beforeSave()。 -
@RuslanPolutsygan.adding try catch 在调用 $model->save() 的任何地方似乎都非常耗时。有没有常见的地方可以添加这个?
标签: yii-extensions yii yii-events