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 に答える