function QueryBase::initializePager
Same name in other branches
- 9 core/lib/Drupal/Core/Entity/Query/QueryBase.php \Drupal\Core\Entity\Query\QueryBase::initializePager()
- 8.9.x core/lib/Drupal/Core/Entity/Query/QueryBase.php \Drupal\Core\Entity\Query\QueryBase::initializePager()
- 11.x 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 312
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']);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.