예제 #1
0
 /**
  * @param \Claroline\CoreBundle\Rule\Constraints\AbstractConstraint[] $constraints
  * @param array                                                       $restrictions
  *
  * @return \Doctrine\ORM\QueryBuilder
  */
 protected function buildQuery(array $constraints, array $restrictions = null)
 {
     /** @var \Doctrine\ORM\QueryBuilder $queryBuilder */
     $queryBuilder = $this->logRepository->createQueryBuilder('l')->orderBy('l.dateLog');
     foreach ($restrictions as $key => $restriction) {
         $queryBuilder->andWhere(sprintf('l.%s = :%s', $key, $key))->setParameter($key, $restriction);
     }
     foreach ($constraints as $constraint) {
         $queryBuilder = $constraint->getQuery($queryBuilder);
     }
     return $queryBuilder;
 }