【发布时间】:2015-11-09 22:39:50
【问题描述】:
如何将要删除的记录设置为 1 而不是删除记录本身?我现在正在使用 Yii 框架,我是新手。我有带有更新、查看和删除功能的 CGridview。在删除时,我希望用户将他们要删除的记录设置为 1,而不是删除整个记录。提前感谢您提供的任何帮助!
【问题讨论】:
如何将要删除的记录设置为 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,
));
【讨论】: