0

如何在 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);

但它只显示第一条记录

4

1 回答 1

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);`
于 2013-06-05T06:46:09.890 回答