| @@ 92-116 (lines=25) @@ | ||
| 89 | return $items; |
|
| 90 | } |
|
| 91 | ||
| 92 | private function pageQueryBuilder(AnalysedQuery $analysedQuery, Pager $pager) |
|
| 93 | { |
|
| 94 | $queryBuilder = $analysedQuery->cloneQueryBuilder(); |
|
| 95 | ||
| 96 | if ($pager->getLimit() !== null) { |
|
| 97 | $queryBuilder->setMaxResults($pager->getLimit()); |
|
| 98 | } |
|
| 99 | ||
| 100 | $orderingConfigurations = $analysedQuery->getOrderingConfigurations(); |
|
| 101 | if ($pager->getBefore() !== null) { |
|
| 102 | $orderingConfigurations = $this->reverseOrderingDirection($orderingConfigurations); |
|
| 103 | } |
|
| 104 | ||
| 105 | $this->applyOrdering($queryBuilder, $orderingConfigurations); |
|
| 106 | ||
| 107 | if ($pager->getOffset() !== null) { |
|
| 108 | $this->applyOffset($queryBuilder, $pager->getOffset()); |
|
| 109 | } elseif ($pager->getBefore() !== null) { |
|
| 110 | $this->applyBefore($queryBuilder, $pager->getBefore(), $analysedQuery); |
|
| 111 | } elseif ($pager->getAfter() !== null) { |
|
| 112 | $this->applyAfter($queryBuilder, $pager->getAfter(), $analysedQuery); |
|
| 113 | } |
|
| 114 | ||
| 115 | return $queryBuilder; |
|
| 116 | } |
|
| 117 | ||
| 118 | /** |
|
| 119 | * @param QueryBuilder $queryBuilder |
|
| @@ 87-111 (lines=25) @@ | ||
| 84 | return $items; |
|
| 85 | } |
|
| 86 | ||
| 87 | private function pageQueryBuilder(AnalysedQuery $analysedQuery, Pager $pager) |
|
| 88 | { |
|
| 89 | $queryBuilder = $analysedQuery->cloneQueryBuilder(); |
|
| 90 | ||
| 91 | if ($pager->getLimit() !== null) { |
|
| 92 | $queryBuilder->limit($pager->getLimit()); |
|
| 93 | } |
|
| 94 | ||
| 95 | $orderingConfigurations = $analysedQuery->getOrderingConfigurations(); |
|
| 96 | if ($pager->getBefore() !== null) { |
|
| 97 | $orderingConfigurations = $this->reverseOrderingDirection($orderingConfigurations); |
|
| 98 | } |
|
| 99 | ||
| 100 | $this->applyOrdering($queryBuilder, $orderingConfigurations); |
|
| 101 | ||
| 102 | if ($pager->getOffset() !== null) { |
|
| 103 | $this->applyOffset($queryBuilder, $pager->getOffset()); |
|
| 104 | } elseif ($pager->getBefore() !== null) { |
|
| 105 | $this->applyBefore($queryBuilder, $pager->getBefore(), $analysedQuery); |
|
| 106 | } elseif ($pager->getAfter() !== null) { |
|
| 107 | $this->applyAfter($queryBuilder, $pager->getAfter(), $analysedQuery); |
|
| 108 | } |
|
| 109 | ||
| 110 | return $queryBuilder; |
|
| 111 | } |
|
| 112 | ||
| 113 | /** |
|
| 114 | * @param QueryBuilder $queryBuilder |
|