Sulu\Component\Rest\ListBuilder\Doctrine\DoctrineListBuilder::findIdsByGivenCriteria PHP Method

findIdsByGivenCriteria() protected method

Function that finds all IDs of entities that match the search criteria.
protected findIdsByGivenCriteria ( ) : array
return array
    protected function findIdsByGivenCriteria()
    {
        $select = null;
        if (null !== $this->idField) {
            $select = $this->idField->getSelect();
        }
        $subQueryBuilder = $this->createSubQueryBuilder($select);
        if ($this->limit != null) {
            $subQueryBuilder->setMaxResults($this->limit)->setFirstResult($this->limit * ($this->page - 1));
        }
        foreach ($this->sortFields as $index => $sortField) {
            $subQueryBuilder->addSelect($sortField->getSelect() . ' AS ' . $sortField->getName());
        }
        $this->assignSortFields($subQueryBuilder);
        $ids = $subQueryBuilder->getQuery()->getArrayResult();
        // if no results are found - return
        if (count($ids) < 1) {
            return [];
        }
        $ids = array_map(function ($array) {
            return $array['id'];
        }, $ids);
        return $ids;
    }