Ejemplo n.º 1
0
 function it_modifies_all_child_queries(QueryBuilder $queryBuilder, Specification $specificationA, Specification $specificationB)
 {
     $dqlAlias = 'a';
     $specificationA->modify($queryBuilder, $dqlAlias)->shouldBeCalled();
     $specificationB->modify($queryBuilder, $dqlAlias)->shouldBeCalled();
     $this->modify($queryBuilder, $dqlAlias);
 }
 /**
  * Prepare a Query with a Specification.
  *
  * @param Specification         $specification
  * @param Result\ResultModifier $modifier
  *
  * @return \Doctrine\ORM\Query
  */
 public function getQuery(Specification $specification, Result\ResultModifier $modifier = null)
 {
     $alias = $this->alias;
     $qb = $this->createQueryBuilder($alias);
     $specification->modify($qb, $alias);
     $query = $qb->where($specification->getFilter($qb, $alias))->getQuery();
     if ($modifier !== null) {
         $modifier->modify($query);
         return $query;
     }
     return $query;
 }