From 7e953aa240b288e6b2b9597f42059787d1aa3297 Mon Sep 17 00:00:00 2001 From: zYne Date: Thu, 24 May 2007 17:22:43 +0000 Subject: [PATCH] subquery aliases now mapped to aliasMap --- lib/Doctrine/Hydrate.php | 10 ++++------ lib/Doctrine/Query.php | 5 +---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/Doctrine/Hydrate.php b/lib/Doctrine/Hydrate.php index 8577daa5a..6be78b14f 100644 --- a/lib/Doctrine/Hydrate.php +++ b/lib/Doctrine/Hydrate.php @@ -81,16 +81,14 @@ class Doctrine_Hydrate * relation the relation object owned by the parent * * parent the alias of the parent + * + * subAgg the subquery aggregates of this component */ protected $_aliasMap = array(); /** * */ protected $pendingAggregates = array(); - /** - * - */ - protected $subqueryAggregates = array(); /** * @var array $aggregateMap an array containing all aggregate aliases, keys as dql aliases * and values as sql aliases @@ -335,8 +333,8 @@ class Doctrine_Hydrate if (isset($this->pendingAggregates[$alias][$index])) { $agg = $this->pendingAggregates[$alias][$index][3]; - } elseif (isset($this->subqueryAggregates[$alias][$index])) { - $agg = $this->subqueryAggregates[$alias][$index]; + } elseif (isset($this->_aliasMap[$alias]['subAgg'][$index])) { + $agg = $this->_aliasMap[$alias]['subAgg'][$index]; } $record->mapValue($agg, $value); $found = true; diff --git a/lib/Doctrine/Query.php b/lib/Doctrine/Query.php index 073dabb30..79a9714e2 100644 --- a/lib/Doctrine/Query.php +++ b/lib/Doctrine/Query.php @@ -32,9 +32,6 @@ Doctrine::autoload('Doctrine_Query_Abstract'); */ class Doctrine_Query extends Doctrine_Query_Abstract implements Countable { - /** - * @param array $subqueryAliases the table aliases needed in some LIMIT subqueries - */ protected $subqueryAliases = array(); /** * @param boolean $needsSubquery @@ -441,7 +438,7 @@ class Doctrine_Query extends Doctrine_Query_Abstract implements Countable $this->parts['select'][] = '(' . $sql . ') AS ' . $sqlAlias; $this->aggregateMap[$alias] = $sqlAlias; - $this->subqueryAggregates[$componentAlias][] = $alias; + $this->_aliasMap[$componentAlias]['subAgg'][] = $alias; } $this->pendingSubqueries = array(); }