Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function applyFilter(QueryBuilder $qb, array $data, array $options)
 {
     self::$filterCount++;
     $alias = $qb->getRootAliases()[0];
     if ($options['mode'] === self::MODE_DEFAULT) {
         $qb->andWhere(FilterOperator::buildExpression($alias . '.' . $data['property_path'], $data['operator'], ':filter_' . self::$filterCount))->setParameter('filter_' . self::$filterCount, FilterOperator::buildParameter($data['operator'], $data['value']));
     } else {
         $value = $options['mode'] === self::MODE_IS_NULL ? $data['value'] : !$data['value'];
         $operator = $value ? FilterOperator::IS_NULL : FilterOperator::IS_NOT_NULL;
         $qb->andWhere(FilterOperator::buildExpression($alias . '.' . $data['property_path'], $operator, ':filter_' . self::$filterCount));
     }
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function applyFilter(QueryBuilder $qb, array $data, array $options)
 {
     self::$filterCount++;
     $alias = $qb->getRootAliases()[0];
     $qb->andWhere(FilterOperator::buildExpression($alias . '.' . $data['property_path'], $data['operator'], ':filter_' . self::$filterCount))->setParameter('filter_' . self::$filterCount, $data['value'], Type::DATETIME);
 }