gpt4 book ai didi

exception - Yii完整性约束异常处理和用户友好消息

转载 作者:行者123 更新时间:2023-12-03 08:03:01 25 4
gpt4 key购买 nike

我正在使用此模型代码来删除记录。

public function actionDelete($id)
{
$this->loadModel($id)->delete();

// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($_GET['ajax']))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}

包含此记录的表与具有删除限制约束的其他表具有一对多的关系。

因此,删除子表中具有相关记录的记录时,它会引发异常
CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`bzuexamsystem`.`campus`, CONSTRAINT `fk_Campus_City` FOREIGN KEY (`CityID`) REFERENCES `city` (`CityID`) ON UPDATE CASCADE). The SQL statement executed was: DELETE FROM `city` WHERE `city`.`CityID`=1 

是否有某种方式显示用户友好的错误消息。谢谢

最佳答案

我猜$ this-> loadModel()返回一个CActiveRecord对象...

首先,您需要确保要删除的记录确实已加载。其次,在语句开头使用@禁止错误。然后,如果CActiveRecord-> delete()返回false,则表示该记录未被删除:

public function actionDelete($id) {
$record = $this->loadModel($id);
if ($record !== null) {
if (@$record->delete()) {
// code when successfully deleted
} else {
// code when delete fails
}
} else {
// optional code to handle "record isn't found" case
}
}

关于exception - Yii完整性约束异常处理和用户友好消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com