Example #1
0
 /**
  * {@inheritdoc}
  */
 public function restrict($expression, $condition = DataSourceInterface::CONDITION_AND)
 {
     switch ($condition) {
         case DataSourceInterface::CONDITION_AND:
             $parentNode = $this->queryBuilder->andWhere();
             break;
         case DataSourceInterface::CONDITION_OR:
             $parentNode = $this->queryBuilder->orWhere();
             break;
         default:
             throw new \RuntimeException(sprintf('Unknown restrict condition "%s"', $condition));
     }
     $visitor = new ExpressionVisitor($this->queryBuilder);
     $visitor->dispatch($expression, $parentNode);
 }