From 0c5ea34fd49b83c9252a95cffdf3b6345327fea2 Mon Sep 17 00:00:00 2001 From: Kiel Goodman Date: Mon, 12 Jan 2015 14:44:46 +0000 Subject: [PATCH] [DDC-3436] Fix changes requested 2/2 --- lib/Doctrine/ORM/Query/QueryExpressionVisitor.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php b/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php index 7cea4e0bc..fe547081f 100644 --- a/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php +++ b/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php @@ -135,21 +135,17 @@ class QueryExpressionVisitor extends ExpressionVisitor if ( ! isset($this->queryAliases[0])) { throw new QueryException('No aliases are set before invoking walkComparison().'); } - $field = $comparison->getField(); - $hasValidAlias = false; + $field = $this->queryAliases[0] . '.' . $comparison->getField(); + foreach($this->queryAliases as $alias) { - if(strpos($field . '.', $alias . '.') === 0) { - $hasValidAlias = true; + if(strpos($comparison->getField() . '.', $alias . '.') === 0) { + $field = $comparison->getField(); break; } } - $parameterName = str_replace('.', '_', $field); - - if(!$hasValidAlias) { - $field = $this->queryAliases[0] . '.' . $field; - } + $parameterName = str_replace('.', '_', $comparison->getField()); foreach($this->parameters as $parameter) { if($parameter->getName() === $parameterName) {