/**
  * @param ApplyFilterConditionEvent $event
  */
 public function onApplyFilterCondition(ApplyFilterConditionEvent $event)
 {
     /** @var Builder $qb */
     $qb = $event->getQueryBuilder();
     $conditionBuilder = $event->getConditionBuilder();
     $this->computeExpression($qb, $conditionBuilder->getRoot());
 }
 /**
  * @param ApplyFilterConditionEvent $event
  */
 public function onApplyFilterCondition(ApplyFilterConditionEvent $event)
 {
     $qb = $event->getQueryBuilder();
     $conditionBuilder = $event->getConditionBuilder();
     $this->parameters = array();
     $expression = $this->computeExpression($qb, $conditionBuilder->getRoot());
     if (null !== $expression) {
         $qb->{$this->whereMethod}($expression);
     }
 }
 /**
  * @param ApplyFilterConditionEvent $event
  */
 public function onApplyFilterCondition(ApplyFilterConditionEvent $event)
 {
     $qbAdapter = new DoctrineQueryBuilderAdapter($event->getQueryBuilder());
     $conditionBuilder = $event->getConditionBuilder();
     $this->parameters = array();
     $expression = $this->computeExpression($qbAdapter, $conditionBuilder->getRoot());
     if (null !== $expression && $expression->count()) {
         $qbAdapter->{$this->whereMethod}($expression);
         foreach ($this->parameters as $name => $value) {
             if (is_array($value)) {
                 list($value, $type) = $value;
                 $qbAdapter->setParameter($name, $value, $type);
             } else {
                 $qbAdapter->setParameter($name, $value);
             }
         }
     }
 }