From a45ecb5733edc898ebeb14daa9a2bb0e68b6c200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Gallego?= Date: Sun, 9 Feb 2014 11:56:51 +0100 Subject: [PATCH] Fix bug with hydrators --- lib/Doctrine/ORM/Persisters/ManyToManyPersister.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php b/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php index a4f5dcc6e..b3107e295 100644 --- a/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php +++ b/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php @@ -581,7 +581,10 @@ class ManyToManyPersister extends AbstractCollectionPersister $joinTable = $this->quoteStrategy->getJoinTableName($mapping, $ownerMetadata, $this->platform); $onConditions = $this->getOnConditionSQL($mapping); - $sql = 'SELECT * FROM ' . $tableName . ' te' + $rsm = new Query\ResultSetMappingBuilder($this->em); + $rsm->addRootEntityFromClassMetadata($mapping['targetEntity'], 'te'); + + $sql = 'SELECT ' . $rsm->generateSelectClause() . ' FROM ' . $tableName . ' te' . ' JOIN ' . $joinTable . ' t ON' . implode(' AND ', $onConditions) . ' WHERE ' . implode(' AND ', $whereClauses); @@ -589,9 +592,6 @@ class ManyToManyPersister extends AbstractCollectionPersister $stmt = $this->conn->executeQuery($sql, $params); $hydrator = $this->em->newHydrator(Query::HYDRATE_OBJECT); - $rsm = new Query\ResultSetMapping(); - $rsm->addEntityResult($mapping['targetEntity'], 'r'); - return $hydrator->hydrateAll($stmt, $rsm); }