/** * {@inheritdoc} */ public function addAttributeSorter(AttributeInterface $attribute, $direction, $locale = null, $scope = null) { $sortField = ProductQueryUtility::getNormalizedValueFieldFromAttribute($attribute, $locale, $scope); $this->qb->sort(ProductQueryUtility::NORMALIZED_FIELD . '.' . $sortField, $direction); $this->qb->sort('_id'); return $this; }
/** * {@inheritdoc} */ public function addFieldSorter($field, $direction, $locale = null, $scope = null) { $field = sprintf("%s.%s", ProductQueryUtility::NORMALIZED_FIELD, $field); $this->qb->sort($field, $direction); $this->qb->sort('_id'); return $this; }
/** * {@inheritdoc} */ public function addFieldSorter($field, $direction, $locale = null, $scope = null) { if (null === $locale || null === $scope) { throw new \InvalidArgumentException('Cannot prepare condition on completenesses without locale and scope'); } $field = sprintf("%s.%s.%s-%s", ProductQueryUtility::NORMALIZED_FIELD, 'completenesses', $scope, $locale); $this->qb->sort($field, $direction); $this->qb->sort('_id'); return $this; }
/** * {@inheritdoc} */ public function addFieldSorter($field, $direction, $locale = null, $scope = null) { if (null === $locale) { throw new \InvalidArgumentException('Cannot prepare condition on family sorter without locale'); } $fieldLabel = sprintf("%s.%s.label.%s", ProductQueryUtility::NORMALIZED_FIELD, $field, $locale); $fieldCode = sprintf("%s.%s.code", ProductQueryUtility::NORMALIZED_FIELD, $field); $this->qb->sort($fieldLabel, $direction); $this->qb->sort($fieldCode, $direction); $this->qb->sort('_id'); return $this; }
/** * @param Parameters $params * @param Builder $queryBuilder * * @return Builder */ public function createQuery($params, $queryBuilder) { $this->value = $params->toArray(); /* * search jobs by keywords */ if (isset($this->value['params']['search']) && !empty($this->value['params']['search'])) { $search = strtolower($this->value['params']['search']); $expression = $queryBuilder->expr()->operator('$text', ['$search' => $search]); $queryBuilder->field(null)->equals($expression->getQuery()); } if (isset($this->value['params']['status']) && !empty($this->value['params']['status'])) { if ($this->value['params']['status'] != 'all') { $queryBuilder->field('status.name')->equals($this->value['params']['status']); } } else { $queryBuilder->field('status.name')->equals(Status::CREATED); } if (isset($this->value['params']['companyId']) && !empty($this->value['params']['companyId'])) { $queryBuilder->field('organization')->equals(new \MongoId($this->value['params']['companyId'])); } if (isset($this->value['sort'])) { foreach (explode(",", $this->value['sort']) as $sort) { $queryBuilder->sort($this->filterSort($sort)); } } return $queryBuilder; }
protected function initTestList() { $this->queryBuilder->sort('date', 'DESC'); $this->listCount = $this->queryBuilder->getQuery()->execute()->count(); $this->initPagenation(); if ($this->listCount > 0) { $this->queryBuilder->field('userId')->equals(''); $this->list = $this->queryBuilder = $this->queryBuilder->getQuery()->execute(); } }
/** * @param $params * @param \Doctrine\ODM\MongoDB\Query\Builder $queryBuilder * * @return mixed */ public function createQuery($params, $queryBuilder) { if (!empty($params['text'])) { $queryBuilder->text($params['text']); } $queryBuilder->field('isDraft')->equals(false); if (isset($params['sort'])) { foreach (explode(",", $params['sort']) as $sort) { $queryBuilder->sort($this->filterSort($sort)); } } return $queryBuilder; }
/** * Creates a query for filtering organizations * * @see \Core\Repository\Filter\AbstractPaginationQuery::createQuery() * @param $params * @param \Doctrine\ODM\MongoDB\Query\Builder $queryBuilder * @return mixed */ public function createQuery($params, $queryBuilder) { $userID = $this->auth->getUser()->getId(); if ($params instanceof Parameters) { $value = $params->toArray(); } else { $value = $params; } if (isset($params['text']) && $params['text']) { $queryBuilder->text($params['text']); } /* * We only show organizations to which the user has view permissions. */ $queryBuilder->field('permissions.view')->equals($userID); if (!isset($value['sort'])) { $value['sort'] = '-date'; } $queryBuilder->sort($this->filterSort($value['sort'])); return $queryBuilder; }
/** * {@inheritdoc} */ public function orderBy($sort, $order = 'ASC') { $this->queryBuilder->sort($sort, $order); return $this; }
/** * @param Builder $queryBuilder * @param string[] $orderBy */ private function applySorting(Builder $queryBuilder, array $orderBy = []) { foreach ($orderBy as $property => $order) { if (!empty($order)) { $queryBuilder->sort($this->getProperty($property, $queryBuilder), $order); } } }
/** * {@inheritdoc} */ public function addFieldSorter($field, $direction, $locale = null, $scope = null) { $this->qb->sort(ProductQueryUtility::NORMALIZED_FIELD . '.' . $field, $direction); $this->qb->sort('_id'); return $this; }
protected function applySort(QueryBuilder $query) { foreach ($this->sorts as $path => $order) { $query->sort($path, $order); } }
/** * Set sort and erase all old sorts. * * @param string $order * @return QueryProxy this instance */ public function sort($fieldName, $order = null) { $this->queryChanged = true; return parent::sort($fieldName, $order); }
function it_adds_a_order_by_completeness_in_the_query(Builder $queryBuilder) { $queryBuilder->sort('normalizedData.completenesses.mobile-en_US', 'desc')->shouldBeCalled(); $queryBuilder->sort('_id')->shouldBeCalled(); $this->addFieldSorter('completenesses', 'desc', 'en_US', 'mobile'); }
/** * {@inheritdoc} */ public function addFieldSorter($field, $direction) { $this->qb->sort(ProductQueryUtility::NORMALIZED_FIELD . '.' . $field, $direction); return $this; }
/** * {@inheritdoc} */ public function addFieldSorter($field, $direction) { $field = sprintf("%s.%s.label.%s", ProductQueryUtility::NORMALIZED_FIELD, $field, $this->context->getLocaleCode()); $this->qb->sort($field, $direction); return $this; }
/** * add a sort condition to querybuilder * * @param \Xiag\Rql\Parser\Node\SortNode $node sort node * * @return void */ protected function visitSort(\Xiag\Rql\Parser\Node\SortNode $node) { foreach ($node->getFields() as $name => $order) { $this->builder->sort($name, $order); } }