protected function QueryBase::initializePager in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Entity/Query/QueryBase.php \Drupal\Core\Entity\Query\QueryBase::initializePager()
Gets the total number of results and initialize a pager for the query.
The pager can be disabled by either setting the pager limit to 0, or by setting this query to be a count query.
3 calls to QueryBase::initializePager()
- Query::execute in core/
lib/ Drupal/ Core/ Config/ Entity/ Query/ Query.php - Execute the query.
- Query::execute in core/
lib/ Drupal/ Core/ Entity/ KeyValueStore/ Query/ Query.php - Execute the query.
- Query::finish in core/
lib/ Drupal/ Core/ Entity/ Query/ Sql/ Query.php - Finish the query by adding fields, GROUP BY and range.
File
- core/
lib/ Drupal/ Core/ Entity/ Query/ QueryBase.php, line 311
Class
- QueryBase
- The base entity query class.
Namespace
Drupal\Core\Entity\QueryCode
protected function initializePager() {
if ($this->pager && !empty($this->pager['limit']) && !$this->count) {
$page = \Drupal::service('pager.parameters')
->findPage($this->pager['element']);
$count_query = clone $this;
$this->pager['total'] = $count_query
->count()
->execute();
$this->pager['start'] = $page * $this->pager['limit'];
\Drupal::service('pager.manager')
->createPager($this->pager['total'], $this->pager['limit'], $this->pager['element']);
$this
->range($this->pager['start'], $this->pager['limit']);
}
}