yii\elasticsearch\ActiveDataProvider::prepareModels PHP Method

prepareModels() protected method

protected prepareModels ( )
    protected function prepareModels()
    {
        if (!$this->query instanceof Query) {
            throw new InvalidConfigException('The "query" property must be an instance "' . Query::className() . '" or its subclasses.');
        }
        $query = clone $this->query;
        if (($pagination = $this->getPagination()) !== false) {
            // pagination fails to validate page number, because total count is unknown at this stage
            $pagination->validatePage = false;
            $query->limit($pagination->getLimit())->offset($pagination->getOffset());
        }
        if (($sort = $this->getSort()) !== false) {
            $query->addOrderBy($sort->getOrders());
        }
        $results = $query->search($this->db);
        $this->setQueryResults($results);
        if ($pagination !== false) {
            $pagination->totalCount = $this->getTotalCount();
        }
        return $results['hits']['hits'];
    }