set deleted records = 1 不实际删除记录

Set deleted records = 1 without actually deleting the records

如何将要删除的记录设置为 1 而不是删除记录本身?我现在正在使用 Yii 框架,我是新手。我有带有更新、查看和删除功能的 CGridview。在删除时,我希望用户将他们要删除的记录设置为 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'));
    }

和您的模型 search 函数删除那些具有 is_deleted = 1 的项目,您可以:

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