Yii ActiveRecord删除不起作用

时间:2014-03-04 08:59:43

标签: php activerecord yii

我遇到了Yii ActiveRecord的奇怪情况。 我有模型用户(有一些关系,但没有外键)。当我尝试从操作中删除一些行时:

    $cr = new CDbCriteria();
    $cr->addColumnCondition(array(
            'status' => User::USER_STATUS_DELETED
        ));
    $items = User::model()->findAll($cr);
    if(!empty($items)){
        foreach($items as $item){
            $item->delete();
        }
    }

没有效果。用户仍在那里。顺便说一下,我可以用phpmyadmin手动删除它们。更有趣的事情 - $item->delete()返回true。 问题在哪里?

1 个答案:

答案 0 :(得分:1)

1)确保没有覆盖删除功能的功能
2)如果您有关系,并且创建不当,并且您尝试删除与另一条记录相关的user.id,则删除可能会失败。 (但在phpmyadmin中也应该失败)
3)例如我有一个软删除,我只是用“已删除”替换user.status。如果我的模型没有验证,我不能这样做,所以我必须做一个 - >保存(假)来解决这个问题(我实际上不这样做但是你明白我的意思)。