Beispiel #1
0
 /**
  * @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));
 }
Beispiel #2
0
 /**
  * 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);
     }
 }