From 23e0bb73458e50abe668ee55b49a787ad1ca0ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szczepan=20Cie=C5=9Blik?= Date: Thu, 24 Jan 2013 15:50:05 +0100 Subject: [PATCH] Fixed ObjectHydrator when namespace alias is given. --- .../ORM/Internal/Hydration/ObjectHydrator.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php b/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php index bc28aa072..583235055 100644 --- a/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php +++ b/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php @@ -83,7 +83,7 @@ class ObjectHydrator extends AbstractHydrator */ private $existingCollections = array(); - /** + /** * {@inheritdoc} */ protected function prepare() @@ -102,6 +102,12 @@ class ObjectHydrator extends AbstractHydrator $this->identifierMap[$dqlAlias] = array(); $this->idTemplate[$dqlAlias] = ''; + // Check for namespace alias. + if (strpos($className, ':') !== false) { + $metadata = $this->_em->getClassMetadata($className); + $className = $metadata->name; + } + if ( ! isset($this->ce[$className])) { $this->ce[$className] = $this->_em->getClassMetadata($className); } @@ -525,7 +531,7 @@ class ObjectHydrator extends AbstractHydrator // check for existing result from the iterations before if ( ! isset($this->identifierMap[$dqlAlias][$id[$dqlAlias]])) { $element = $this->getEntity($rowData[$dqlAlias], $dqlAlias); - + if ($this->_rsm->isMixed) { $element = array($entityKey => $element); } @@ -597,7 +603,7 @@ class ObjectHydrator extends AbstractHydrator if ($count === 1) { $result[$resultKey] = $obj; - + continue; }