Exemple #1
0
 public function applyOrderByColumns(Filter $filter, QueryBuilderFilter $queryBuilderFilter)
 {
     $orderByColumns = $filter->getOrderByAttributes();
     foreach ($orderByColumns as $attribute => $orderItem) {
         $queryBuilderFilter->addOrderBy($attribute, $orderItem->getPosition(), $orderItem->isAscending());
     }
 }
 public function getQueryBuilderFilter(Filter $filter)
 {
     $queryBuilderFilter = new QueryBuilderFilter();
     $queryBuilderFilter->setSelect($filter->getAlias());
     $queryBuilderFilter->setFrom($filter->getEntityClass(), $filter->getAlias());
     $this->filterApplier->applyJoins($filter, $queryBuilderFilter);
     $this->filterApplier->applyConditions($filter, $queryBuilderFilter);
     $this->filterApplier->applyLimit($filter, $queryBuilderFilter);
     $this->filterApplier->applyOffset($filter, $queryBuilderFilter);
     $this->filterApplier->applyOrderByColumns($filter, $queryBuilderFilter);
     return $queryBuilderFilter;
 }
 private function applyGroupBy(QueryBuilderFilter $filter, QueryBuilder $queryBuilder)
 {
     if ($filter->getGroupBy()) {
         $queryBuilder->groupBy($filter->getGroupBy());
     }
 }
 protected function applyOffset(Filter $filter, QueryBuilderFilter $queryBuilderFilter)
 {
     if ($filter->getOffset()) {
         $queryBuilderFilter->setOffset($filter->getOffset());
     }
 }