Exemplo n.º 1
0
 /**
  * Apply filters to the query
  *
  * @access protected
  * @param  FilterInterface $filter
  * @param  array           $values
  */
 protected function applyFilters(FilterInterface $filter, array $values)
 {
     $len = count($values);
     if ($len > 1) {
         $criteria = new OrCriteria();
         $criteria->withQuery($this->query);
         foreach ($values as $value) {
             $currentFilter = clone $filter;
             $criteria->withFilter($currentFilter->withValue($value));
         }
         $this->queryBuilder->withCriteria($criteria);
     } elseif ($len === 1) {
         $this->queryBuilder->withFilter($filter->withValue($values[0]));
     }
 }
Exemplo n.º 2
0
 /**
  * Set a filter
  *
  * @access public
  * @param  FilterInterface $filter
  * @return QueryBuilder
  */
 public function withFilter(FilterInterface $filter)
 {
     $filter->withQuery($this->query)->apply();
     return $this;
 }