如何构建一个将在cakephp上捕获错误消息的onError()?

时间:2014-01-08 20:27:21

标签: php sql cakephp

我不会遇到cakephp或编程,但我想要做的是从数据库中删除一条记录,当删除时重定向到同一页面,如果由于约束外键而无法删除记录传递错误:

SQL Error: 1451: Cannot delete or update a parent row: a foreign key constraint fails

并重定向到同一页面,并为用户提供了一条很好的错误消息。而不是上面的错误消息。

enter code here

我能够完成删除部分,但是当我无法删除记录时,我无法通过错误消息 SQL Erro:1451

这是我的功能

    function admin_delete ($id, $residence_hall_id){
        if ($this->ResidenceHall->delete($id))  {
            $this->Session->setFlash('Item was deleted', 'success');
        }else{
            $this->Session->setFlash('Item was not deleted', 'error');
        }
        $this->redirect(array('controller'=>'residence_halls', 'action'=>'index', $residence_hall_id, 'admin'=>true));
    }

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:0)

使用deleteAll()或者只是从residanceHall models表中删除数据库外键约束。 AS delete all将删除该模型的所有相关记录。您获得此错误的原因仅在于其他表中有一些记录,其id用于与参考表关联。