public function getFilters($source) { $parentFilters = parent::getFilters($source); $filters = array(); foreach ($parentFilters as $filter) { switch ($filter->getOperator()) { case self::OPERATOR_EQ: case self::OPERATOR_NEQ: $value = $filter->getValue(); $filters[] = new Filter($filter->getOperator(), $value); break; case self::OPERATOR_LIKE: case self::OPERATOR_NLIKE: $value = $filter->getValue(); $filters[] = new Filter($filter->getOperator(), $value); break; case self::OPERATOR_ISNULL: $filters[] = new Filter(self::OPERATOR_ISNULL); $filters[] = new Filter(self::OPERATOR_EQ, ''); $this->setDataJunction(self::DATA_DISJUNCTION); break; case self::OPERATOR_ISNOTNULL: $filters[] = new Filter(self::OPERATOR_ISNOTNULL); $filters[] = new Filter(self::OPERATOR_NEQ, ''); break; default: $filters[] = $filter; } } return $filters; }
public function getFilters($source) { $parentFilters = parent::getFilters($source); $filters = array(); foreach ($parentFilters as $filter) { $filters[] = $filter->getValue() === null ? $filter : $filter->setValue(new \DateTime($filter->getValue())); } return $filters; }
public function getFilters($source) { $parentFilters = parent::getFilters($source); $filters = array(); foreach ($parentFilters as $filter) { if ($source === "document") { $filters[] = $filter; } else { switch ($filter->getOperator()) { case self::OPERATOR_EQ: case self::OPERATOR_NEQ: $filterValues = (array) $filter->getValue(); $value = ''; $counter = 1; foreach ($filterValues as $filterValue) { $len = strlen($filterValue); $value .= 'i:' . $counter++ . ';s:' . $len . ':"' . $filterValue . '";'; } $filters[] = new Filter($filter->getOperator(), 'a:' . count($filterValues) . ':{' . $value . '}'); break; case self::OPERATOR_LIKE: case self::OPERATOR_NLIKE: $len = strlen($filter->getValue()); $value = 's:' . $len . ':"' . $filter->getValue() . '";'; $filters[] = new Filter($filter->getOperator(), $value); break; case self::OPERATOR_ISNULL: $filters[] = new Filter(self::OPERATOR_ISNULL); $filters[] = new Filter(self::OPERATOR_EQ, 'a:0:{}'); $this->setDataJunction(self::DATA_DISJUNCTION); break; case self::OPERATOR_ISNOTNULL: $filters[] = new Filter(self::OPERATOR_ISNOTNULL); $filters[] = new Filter(self::OPERATOR_NEQ, 'a:0:{}'); break; default: $filters[] = $filter; } } } return $filters; }
public function getFilters($source) { $parentFilters = parent::getFilters($source); $filters = array(); foreach ($parentFilters as $filter) { // Transforme in number for ODM $filters[] = $filter->getValue() === null ? $filter : $filter->setValue($filter->getValue() + 0); } return $filters; }
/** * @param array $subColumn * @param Column \APY\DataGridBundle\Grid\Column\Column */ protected function addReferencedColumnn(array $subColumn, Column $column) { $this->referencedColumns[$subColumn[0]][] = $subColumn[1]; if ($column->isFiltered()) { $helperQuery = $this->manager->createQueryBuilder($this->referencedMappings[$subColumn[0]]); $filters = $column->getFilters('document'); foreach ($filters as $filter) { $operator = $this->normalizeOperator($filter->getOperator()); $value = $this->normalizeValue($filter->getOperator(), $filter->getValue()); $helperQuery->field($subColumn[1])->{$operator}($value); $this->prepareQuery($this->query); $cursor = $helperQuery->getQuery()->execute(); foreach ($cursor as $resource) { if ($cursor->count() > 0) { $this->query->select($subColumn[0]); } if ($cursor->count() == 1) { $this->query->field($subColumn[0])->references($resource); } else { $this->query->addOr($this->query->expr()->field($subColumn[0])->references($resource)); } } } } }