/**
  * {@inheritDoc}
  */
 public function evaluate(Rule $rule)
 {
     $environment = new DoctrineEnvironment();
     // use exotic alias because we use entity's own repository
     $this->qb = $this->em->getRepository($this->getEntity($rule))->createQueryBuilder('a');
     $environment->queryBuilder = $this->qb;
     return $environment->evaluate($rule);
 }
Exemplo n.º 2
0
 /**
  * Get row query
  * 
  * @param  Opifer\RulesEngine\Condition $conditions
  * @param  string                       $entity
  * 
  * @return QueryBuilder
  */
 public function getRowQuery($conditions, $entity)
 {
     $qb = $this->em->getRepository(get_class($entity))->createQueryBuilder('a');
     // use exotic alias because we use entity's own repository
     $environment = new DoctrineEnvironment();
     $environment->queryBuilder = $qb;
     $environment->evaluate($conditions);
     return $qb;
 }