【问题标题】:How to deal with the error message of "CDbCommand failed to execute the SQL statement FOREIGN KEY" in yii1.1yii1.1中出现“CDbCommand failed to execute the SQL statement FOREIGN KEY”错误信息如何处理
【发布时间】:2019-07-18 07:24:04
【问题描述】:

当我想在我的管理页面上删除一条记录时,我遇到了“CDbCommand 未能执行 SQL 语句 FOREIGN KEY”的错误。我知道这是说记录通过外键有约束。但是如何处理这个错误信息呢?例如,只需警告“您不能删除此记录...”。

CDbCommand 未能执行 SQL 语句:SQLSTATE[23000]:完整性约束违规:1451 无法删除或更新父行:外键约束失败(yxbeauty.tbl_project_user_role,CONSTRAINT tbl_project_user_role_ibfk_1 FOREIGN KEY ( project_id) 参考资料tbl_project (id))

【问题讨论】:

    标签: yii yii1.x


    【解决方案1】:

    我尝试使用 try{...} 和 catch{...} 来解析上面的程序,我的代码如下。

    public function actionDelete($id)
    {
        try{
        if(Yii::app()->request->isPostRequest)
        {
            // we only allow deletion via POST request
            $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'));
        }
            }
        catch (Exception $e) {
            echo 'warning: ' . $e->getMessage();
        }
    
    }
    

    但是,我无法回显警告消息。你能给我你的建议吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2022-08-22
      • 2013-02-06
      • 1970-01-01
      相关资源
      最近更新 更多