eZ\Publish\Core\Search\Legacy\Content\Gateway\DoctrineDatabase::getContentInfoList PHP Method

getContentInfoList() protected method

Get sorted arrays of content IDs, which should be returned.
protected getContentInfoList ( eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter, array $sort, mixed $offset, mixed $limit, array $languageFilter ) : int[]
$filter eZ\Publish\API\Repository\Values\Content\Query\Criterion
$sort array
$offset mixed
$limit mixed
$languageFilter array
return int[]
    protected function getContentInfoList(Criterion $filter, $sort, $offset, $limit, array $languageFilter)
    {
        $query = $this->handler->createSelectQuery();
        $query->selectDistinct('ezcontentobject.*', $this->handler->aliasedColumn($query, 'main_node_id', 'main_tree'));
        if ($sort !== null) {
            $this->sortClauseConverter->applySelect($query, $sort);
        }
        $query->from($this->handler->quoteTable('ezcontentobject'))->innerJoin('ezcontentobject_version', 'ezcontentobject.id', 'ezcontentobject_version.contentobject_id')->leftJoin($this->handler->alias($this->handler->quoteTable('ezcontentobject_tree'), $this->handler->quoteIdentifier('main_tree')), $query->expr->lAnd($query->expr->eq($this->handler->quoteColumn('contentobject_id', 'main_tree'), $this->handler->quoteColumn('id', 'ezcontentobject')), $query->expr->eq($this->handler->quoteColumn('main_node_id', 'main_tree'), $this->handler->quoteColumn('node_id', 'main_tree'))));
        if ($sort !== null) {
            $this->sortClauseConverter->applyJoin($query, $sort, $languageFilter);
        }
        $query->where($this->getQueryCondition($filter, $query, $languageFilter));
        if ($sort !== null) {
            $this->sortClauseConverter->applyOrderBy($query);
        }
        $query->limit($limit, $offset);
        $statement = $query->prepare();
        $statement->execute();
        return $statement->fetchAll(PDO::FETCH_ASSOC);
    }