我有几个带有相关表的模型,当我尝试删除记录时会抛出yii \ db \ IntegrityException。
如何全局捕获此异常,将用户重定向到错误页面,告诉他由于“相关数据存在”而无法删除此记录,并为他尝试的操作提供“后退”按钮删除记录?
答案 0 :(得分:1)
感谢Yii IRC聊天的友好帮助,我提出了以下解决方案:
创建自定义基本模式:
class MyActiveRecord extends \yii\db\ActiveRecord
{
...
}
这里我覆盖原来的
actionDelete($id)
像
public function actionDelete($id)
{
try {
... try to delete the record ...
} catch (db\IntegrityExceptyion $e) {
... send to error page ...
}
}