From e39f08f6bdfd035620f29e031fa82ca74a975ca9 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Sat, 17 Jan 2015 04:12:59 +0100 Subject: [PATCH] #1178 - handling correct parameter binding when counting extra-lazy collections with custom-type referenced identifiers --- .../ORM/Persisters/Collection/ManyToManyPersister.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php b/lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php index 9c4f24609..f21aefdf1 100644 --- a/lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php +++ b/lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php @@ -108,6 +108,7 @@ class ManyToManyPersister extends AbstractCollectionPersister { $conditions = array(); $params = array(); + $types = array(); $mapping = $collection->getMapping(); $id = $this->uow->getEntityIdentifier($collection->getOwner()); $sourceClass = $this->em->getClassMetadata($mapping['sourceEntity']); @@ -126,6 +127,7 @@ class ManyToManyPersister extends AbstractCollectionPersister $referencedName = $joinColumn['referencedColumnName']; $conditions[] = 't.' . $columnName . ' = ?'; $params[] = $id[$sourceClass->getFieldForColumn($referencedName)]; + $types[] = PersisterHelper::getTypeOfColumn($referencedName, $sourceClass, $this->em); } list($joinTargetEntitySQL, $filterSql) = $this->getFilterSql($mapping); @@ -156,7 +158,7 @@ class ManyToManyPersister extends AbstractCollectionPersister . $joinTargetEntitySQL . ' WHERE ' . implode(' AND ', $conditions); - return $this->conn->fetchColumn($sql, $params); + return $this->conn->fetchColumn($sql, $params, 0, $types); } /**