本文整理汇总了PHP中MongoCursor::queryAll方法的典型用法代码示例。如果您正苦于以下问题:PHP MongoCursor::queryAll方法的具体用法?PHP MongoCursor::queryAll怎么用?PHP MongoCursor::queryAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MongoCursor
的用法示例。
在下文中一共展示了MongoCursor::queryAll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fetchData
/**
* @see CActiveDataProvider::fetchData()
* @return array
*/
public function fetchData()
{
$criteria = $this->getCriteria();
// I have not refactored this line considering that the condition may have changed from total item count to here, maybe.
$this->_builder = new EMongoQueryBuilder($this->model, isset($criteria['condition']) && is_array($criteria['condition']) ? $criteria['condition'] : [], isset($criteria['project']) && !empty($criteria['project']) ? $criteria['project'] : []);
$this->options['condition'] = isset($criteria['condition']) && is_array($criteria['condition']) ? $criteria['condition'] : [];
$this->options['projection'] = isset($criteria['project']) && !empty($criteria['project']) ? $criteria['project'] : [];
// If we have sort and limit and skip setup within the incoming criteria let's set it
if (isset($criteria['sort']) && is_array($criteria['sort'])) {
$this->_builder->sort($criteria['sort']);
}
if (isset($criteria['skip']) && is_int($criteria['skip'])) {
$this->_builder->skip($criteria['skip']);
}
if (isset($criteria['limit']) && is_int($criteria['limit'])) {
$this->_builder->limit($criteria['limit']);
}
if (isset($criteria['hint']) && (is_array($criteria['hint']) || is_string($criteria['hint']))) {
$this->_builder->hint($criteria['hint']);
}
if (($pagination = $this->getPagination()) !== false) {
$pagination->setItemCount($this->getTotalItemCount());
$this->_builder->limit($pagination->getLimit());
$this->_builder->skip($pagination->getOffset());
}
if (($sort = $this->getSort()) !== false) {
$sort = $sort->getOrderBy();
if (count($sort) > 0) {
$this->_builder->sort($sort);
}
}
// var_dump(iterator_to_array($this->_builder->find()));die;
return $this->_builder->queryAll(true);
}