Yii 设置已删除记录=1,但不实际删除记录

Yii 设置已删除记录=1,但不实际删除记录,yii,cgridview,Yii,Cgridview,如何将要删除的记录设置为1而不是删除记录本身?我现在正在使用Yii框架,我对它还不熟悉。我有一个带有更新、查看和删除的CGridview。在delete上,我希望用户将要删除的记录设置为1,而不是删除整个记录。提前感谢您提供的任何帮助 只需在控制器中更新您的actionDelete: public function actionDelete($id) { $model = $this->loadModel($id); $model->is_de

如何将要删除的记录设置为1而不是删除记录本身?我现在正在使用Yii框架,我对它还不熟悉。我有一个带有更新、查看和删除的CGridview。在delete上,我希望用户将要删除的记录设置为1,而不是删除整个记录。提前感谢您提供的任何帮助

只需在控制器中更新您的
actionDelete

public function actionDelete($id)
    {
        $model = $this->loadModel($id);
        $model->is_deleted = "1"; //assuming is_deleted is the column name
        $model->update();

        // 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的项目,您可以:

//.... rest of your code above
$criteria->addCondition("is_deleted != 1");
return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
        ));

当我试图删除它时,它给出了一个错误。我是否也必须在模型中创建新函数?@revuer1否,您不必在模型中创建函数。你的错误到底是什么?这起作用了。非常感谢。还有什么方法可以让我将IsDeleted=1的记录的颜色从蓝色改为红色吗?@revuer1很高兴这有帮助,如果有帮助,请接受答案。对于第二部分,如果你问一个新问题会更好。