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

createSubQueryBuilder() protected method

Creates a query-builder for sub-selecting ID's.
protected createSubQueryBuilder ( null | string $select = null ) : Doctrine\ORM\QueryBuilder
$select null | string
return Doctrine\ORM\QueryBuilder
    protected function createSubQueryBuilder($select = null)
    {
        if (!$select) {
            $select = $this->entityName . '.id';
        }
        // get all filter-fields
        $filterFields = $this->getAllFields(true);
        // get entity names
        $entityNames = $this->getEntityNamesOfFieldDescriptors($filterFields);
        // get necessary joins to achieve filtering
        $addJoins = $this->getNecessaryJoins($entityNames);
        // create querybuilder and add select
        $queryBuilder = $this->createQueryBuilder($addJoins)->select($select);
        if ($this->user && $this->permission && array_key_exists($this->permission, $this->permissions)) {
            $this->addAccessControl($queryBuilder, $this->user, $this->permissions[$this->permission], $this->entityName, $this->entityName);
        }
        return $queryBuilder;
    }