diff --git a/lib/Doctrine/Query/Condition.php b/lib/Doctrine/Query/Condition.php index c1f56e299..e4cb12e18 100644 --- a/lib/Doctrine/Query/Condition.php +++ b/lib/Doctrine/Query/Condition.php @@ -74,8 +74,6 @@ abstract class Doctrine_Query_Condition extends Doctrine_Query_Part return '(' . $r . ')'; } - - /** * parses a literal value and returns the parsed value * @@ -100,7 +98,9 @@ abstract class Doctrine_Query_Condition extends Doctrine_Query_Part if ( ! is_numeric($a[0])) { // a component found - $value = $this->query->getTableAlias($a[0]). '.' . $a[1]; + $field = array_pop($a); + $reference = implode('.', $a); + $value = $this->query->getTableAlias($reference). '.' . $field; } } } else { @@ -109,4 +109,4 @@ abstract class Doctrine_Query_Condition extends Doctrine_Query_Part return $value; } -} +} \ No newline at end of file