diff --git a/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php b/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php index a14528ecd..5ce7080c2 100644 --- a/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php +++ b/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php @@ -563,7 +563,7 @@ class BasicEntityPersister * @todo Check identity map? loadById method? Try to guess whether $criteria is the id? */ public function load(array $criteria, $entity = null, $assoc = null, array $hints = array(), $lockMode = 0) - { + { $sql = $this->_getSelectEntitiesSQL($criteria, $assoc, $lockMode); list($params, $types) = $this->expandParameters($criteria); $stmt = $this->_conn->executeQuery($sql, $params, $types); @@ -577,7 +577,7 @@ class BasicEntityPersister } else { $hydrator = $this->_em->newHydrator(Query::HYDRATE_SIMPLEOBJECT); } - $entities = $hydrator->hydrateAll($stmt, $this->_rsm, $hints); + $entities = $hydrator->hydrateAll($stmt, $this->_rsm, $hints); return $entities ? $entities[0] : null; } diff --git a/lib/Doctrine/ORM/UnitOfWork.php b/lib/Doctrine/ORM/UnitOfWork.php index 99152a652..6d9c756b4 100644 --- a/lib/Doctrine/ORM/UnitOfWork.php +++ b/lib/Doctrine/ORM/UnitOfWork.php @@ -1678,10 +1678,6 @@ class UnitOfWork implements PropertyChangedListener continue; } - if ($entity instanceof Proxy && !$entity->__isInitialized__) { - $entity->__load(); - } - $relatedEntities = $class->reflFields[$assoc['fieldName']]->getValue($entity); if (($relatedEntities instanceof Collection || is_array($relatedEntities))) { if ($relatedEntities instanceof PersistentCollection) { @@ -1711,7 +1707,7 @@ class UnitOfWork implements PropertyChangedListener continue; } - if ($entity instanceof Proxy) { + if ($entity instanceof Proxy && !$entity->__isInitialized__) { $entity->__load(); }