diff --git a/lib/Doctrine/Hydrator.php b/lib/Doctrine/Hydrator.php index 9877ee37f..fa3ef9932 100644 --- a/lib/Doctrine/Hydrator.php +++ b/lib/Doctrine/Hydrator.php @@ -180,8 +180,6 @@ class Doctrine_Hydrator extends Doctrine_Hydrator_Abstract $listeners[$componentName]->preHydrate($event); //-- - $element = $driver->getElement($data, $componentName); - $parent = $map['parent']; $relation = $map['relation']; $relationAlias = $map['relation']->getAlias(); @@ -198,6 +196,7 @@ class Doctrine_Hydrator extends Doctrine_Hydrator_Abstract // append element if (isset($nonemptyComponents[$dqlAlias])) { if ( ! isset($identifierMap[$path][$id[$parent]][$id[$dqlAlias]])) { + $element = $driver->getElement($data, $componentName); // just event stuff $event->set('data', $element); $listeners[$componentName]->postHydrate($event); @@ -228,6 +227,7 @@ class Doctrine_Hydrator extends Doctrine_Hydrator_Abstract if ( ! isset($nonemptyComponents[$dqlAlias])) { $prev[$parent][$relationAlias] = $driver->getNullPointer(); } else { + $element = $driver->getElement($data, $componentName); $prev[$parent][$relationAlias] = $element; } }