1
0
mirror of synced 2025-02-09 00:39:25 +03:00

Add operator to walkComparison output

This commit is contained in:
Mathieu Duplouy 2017-09-30 15:31:41 +02:00 committed by Luís Cobucci
parent 15c145f3b3
commit 7c28a932ae
No known key found for this signature in database
GPG Key ID: EC61C5F01750ED3C
2 changed files with 9 additions and 8 deletions

View File

@ -259,10 +259,11 @@ class ManyToManyPersister extends AbstractCollectionPersister
$parameters = $this->expandCriteriaParameters($criteria); $parameters = $this->expandCriteriaParameters($criteria);
foreach ($parameters as $parameter) { foreach ($parameters as $parameter) {
list($name, $value) = $parameter; [$name, $value, $operator] = $parameter;
$field = $this->quoteStrategy->getColumnName($name, $targetClass, $this->platform);
$whereClauses[] = sprintf('te.%s = ?', $field); $field = $this->quoteStrategy->getColumnName($name, $targetClass, $this->platform);
$params[] = $value; $whereClauses[] = sprintf('te.%s %s ?', $field, $operator);
$params[] = $value;
} }
$tableName = $this->quoteStrategy->getTableName($targetClass, $this->platform); $tableName = $this->quoteStrategy->getTableName($targetClass, $this->platform);

View File

@ -50,9 +50,9 @@ class SqlValueVisitor extends ExpressionVisitor
*/ */
public function walkComparison(Comparison $comparison) public function walkComparison(Comparison $comparison)
{ {
$value = $this->getValueFromComparison($comparison); $value = $this->getValueFromComparison($comparison);
$field = $comparison->getField(); $field = $comparison->getField();
$operator = $comparison->getOperator(); $operator = $comparison->getOperator();
if (($operator === Comparison::EQ || $operator === Comparison::IS) && $value === null) { if (($operator === Comparison::EQ || $operator === Comparison::IS) && $value === null) {
return; return;
@ -61,7 +61,7 @@ class SqlValueVisitor extends ExpressionVisitor
} }
$this->values[] = $value; $this->values[] = $value;
$this->types[] = [$field, $value]; $this->types[] = [$field, $value, $operator];
} }
/** /**