在Yii的YiiMongoDbSuite中找到最后插入的记录

时间:2013-06-04 12:30:36

标签: mongodb yii-extensions yii

如何在YiiMongoDbSuite中找到最后插入的记录 我试过以下

$criteria =  array('condition'=>array('userid'=>array('==' => $user_id)),
                    'sort'=>array('lastUpdateDate'=>-1), 
                    'limit'=>1,
                    'skip'=>0 
                );
            $select = array('url','title','userid');
            $arr = $this->find($criteria,$select);

但它只显示了第一张唱片

1 个答案:

答案 0 :(得分:0)

http://www.yiiframework.com/extension/yiimongodbsuite/#c13036中的方法解决了这个问题。 用它中提到的方法替换find()方法。 基于上面的url的建议,我创建了一个函数

function MongoFind($criteria,$model){
        $cursor = $model::model()->getCollection()->find($criteria->getConditions());
        if($criteria->getSort() !== null)
            $cursor->sort($criteria->getSort());
        if($criteria->getOffset() !== null)
            $cursor->skip($criteria->getOffset());
        if($criteria->getSelect())
            $cursor->fields($criteria->getSelect(true));
        $cursor->limit(1);

        return $model::model()->populateRecord($cursor->getNext());
    }

并使用

 `$arr= Utils::MongoFind($criteria,$this);`

而不是

`$arr = $this->find($criteria,$select);`