このモデル コードを使用してレコードを削除しています。
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'));
}
このレコードを含むテーブルは、削除制限制約のある他のテーブルと 1 対多の関係にあります。
したがって、子テーブルに関連するレコードを持つレコードを削除すると、次のような例外がスローされます
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
ユーザーフレンドリーなエラーメッセージを表示する方法はありますか。ありがとう