/** * Set original query builder. * * @param QueryBuilder $originalQb */ protected function setOriginalQueryBuilder(QueryBuilder $originalQb) { $this->originalQb = $originalQb; $this->qbTools->prepareFieldAliases($originalQb->getDQLPart('select')); $this->qbTools->prepareJoinTablePaths($originalQb->getDQLPart('join')); $this->rootAlias = current($this->originalQb->getRootAliases()); $this->initIdFieldName(); }
/** * @param QueryBuilder $queryBuilder * @param QueryBuilderTools $qbTools */ public function __construct(QueryBuilder $queryBuilder, QueryBuilderTools $qbTools) { // make sure 'from' DQL part is initialized for both original and optimized query builders $queryBuilder->getRootEntities(); $this->originalQueryBuilder = $queryBuilder; $this->qbTools = $qbTools; // initialize the query builder helper $this->qbTools->prepareFieldAliases($this->originalQueryBuilder->getDQLPart('select')); $this->qbTools->prepareJoinTablePaths($this->originalQueryBuilder->getDQLPart('join')); }