【问题标题】:Yii ActiveRecord delete doesn't workYii ActiveRecord 删除不起作用
【发布时间】:2014-03-04 08:59:43
【问题描述】:

我在使用 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。 问题出在哪里?

【问题讨论】:

    标签: php activerecord yii


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多