1
0
mirror of synced 2025-02-06 15:29:26 +03:00

Fix bug with hydrators

This commit is contained in:
Michaël Gallego 2014-02-09 11:56:51 +01:00
parent 6cbd643d4b
commit a45ecb5733

View File

@ -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);
}