src/Sulu/Component/Rest/ListBuilder/Doctrine/DoctrineListBuilder.php
protected function createQueryBuilder($joins = null)
    {
        $this->queryBuilder = $this->em->createQueryBuilder()
            ->from($this->entityName, $this->encodeAlias($this->entityName));

        $this->assignJoins($this->queryBuilder, $joins);

        if (null !== $this->ids) {
            $this->in($this->idField, !empty($this->ids) ? $this->ids : [null]);
        }

        if (null !== $this->excludedIds && !empty($this->excludedIds)) {
            $this->notIn($this->idField, $this->excludedIds);
        }

        // set expressions
        if (!empty($this->expressions)) {
            foreach ($this->expressions as $expression) {
                $this->queryBuilder->andWhere('(' . $expression->getStatement($this->queryBuilder) . ')');
            }
        }

        $this->assignGroupBy($this->queryBuilder);

        if (null !== $this->search) {
            $searchParts = [];
            foreach ($this->searchFields as $searchField) {
                $searchParts[] = $searchField->getSearch();
            }

            $this->queryBuilder->andWhere('(' . implode(' OR ', $searchParts) . ')');
            $this->queryBuilder->setParameter('search', '%' . str_replace('*', '%', $this->search) . '%');
        }

        return $this->queryBuilder;
    }
protected function createQueryBuilder($joins = null)
    {
        $this->queryBuilder = $this->em->createQueryBuilder()
            ->from($this->entityName, $this->encodeAlias($this->entityName));

        $this->assignJoins($this->queryBuilder, $joins);

        if (null !== $this->ids) {
            $this->in($this->idField, !empty($this->ids) ? $this->ids : [null]);
        }

        if (null !== $this->excludedIds && !empty($this->excludedIds)) {
            $this->notIn($this->idField, $this->excludedIds);
        }

        // set expressions
        if (!empty($this->expressions)) {
            foreach ($this->expressions as $expression) {
                $this->queryBuilder->andWhere('(' . $expression->getStatement($this->queryBuilder) . ')');
            }
        }

        $this->assignGroupBy($this->queryBuilder);

        if (null !== $this->search) {
            $searchParts = [];
            foreach ($this->searchFields as $searchField) {
                $searchParts[] = $searchField->getSearch();
            }

            $this->queryBuilder->andWhere('(' . implode(' OR ', $searchParts) . ')');
            $this->queryBuilder->setParameter('search', '%' . str_replace('*', '%', $this->search) . '%');
        }

        return $this->queryBuilder;
    }
protected function createQueryBuilder ( $ joins = null ) { $ this -> queryBuilder = $ this -> em -> createQueryBuilder ( ) -> from ( $ this -> entityName , $ this -> encodeAlias ( $ this -> entityName ) ) ; $ this -> assignJoins ( $ this -> queryBuilder , $ joins ) ; if ( null !== $ this -> ids ) { $ this -> in ( $ this -> idField , ! empty ( $ this -> ids ) ? $ this -> ids : [ null ] ) ; } if ( null !== $ this -> excludedIds && ! empty ( $ this -> excludedIds ) ) { $ this -> notIn ( $ this -> idField , $ this -> excludedIds ) ; } // set expressions if ( ! empty ( $ this -> expressions ) ) { foreach ( $ this -> expressions as $ expression ) { $ this -> queryBuilder -> andWhere ( '(' . $ expression -> getStatement ( $ this -> queryBuilder ) . ')' ) ; } } $ this -> assignGroupBy ( $ this -> queryBuilder ) ; if ( null !== $ this -> search ) { $ searchParts = [ ] ; foreach ( $ this -> searchFields as $ searchField ) { $ searchParts [ ] = $ searchField -> getSearch ( ) ; } $ this -> queryBuilder -> andWhere ( '(' . implode ( ' OR ' , $ searchParts ) . ')' ) ; $ this -> queryBuilder -> setParameter ( 'search' , '%' . str_replace ( '*' , '%' , $ this -> search ) . '%' ) ; } return $ this -> queryBuilder ; }
Creates Querybuilder.

@param array|null $joins Define which joins should be made

@return \Doctrine\ORM\QueryBuilder
Creates Querybuilder .