/** * @dataProvider dataComparisons * * @param mixed $input1 * @param bool $isInput1Literal * @param mixed $input2 * @param bool $isInput2Literal */ public function testGreaterThan($input1, $isInput1Literal, $input2, $isInput2Literal) { list($doctrineInput1, $ocInput1) = $this->helpWithLiteral($input1, $isInput1Literal); list($doctrineInput2, $ocInput2) = $this->helpWithLiteral($input2, $isInput2Literal); $this->assertEquals($this->doctrineExpressionBuilder->gt($doctrineInput1, $doctrineInput2), $this->expressionBuilder->gt($ocInput1, $ocInput2)); }
/** * Creates a greater-than comparison expression with the given arguments. * First argument is considered the left expression and the second is the right expression. * When converted to string, it will generated a <left expr> > <right expr>. Example: * * [php] * // u.id > ? * $q->where($q->expr()->gt('u.id', '?')); * * @param mixed $x The left expression. * @param mixed $y The right expression. * * @return string */ public function gt($x, $y) { $x = $this->helper->quoteColumnName($x); $y = $this->helper->quoteColumnName($y); return $this->expressionBuilder->gt($x, $y); }
/** * @param $queryBuilder * @param $expressionBuilder */ protected function addFilteredProperties(QueryBuilder &$queryBuilder, ExpressionBuilder $expressionBuilder) { if (!count($this->filteredProperties)) { return; } foreach ($this->filteredProperties as $index => $filteredProperty) { $property = 'm.' . $filteredProperty['membersPropertyFilter_property']; $comparator = $filteredProperty['membersPropertyFilter_comparator']; $value = $filteredProperty['membersPropertyFilter_value']; switch ($comparator) { case 'empty': $queryBuilder->andWhere($expressionBuilder->orX($expressionBuilder->eq($property, ':property' . $index), $expressionBuilder->isNull($property))); $value = ''; break; case 'not empty': $queryBuilder->andWhere($expressionBuilder->gt($property, ':property' . $index)); $value = ''; break; default: if (!method_exists($expressionBuilder, $comparator)) { continue; } $queryBuilder->andWhere($expressionBuilder->{$comparator}($property, ':property' . $index)); break; } $queryBuilder->setParameter(':property' . $index, $value); } }