From 9ccce8ed742067270a5ec0436cd0d46127296633 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 26 Oct 2011 16:11:27 +0200 Subject: [PATCH] [DDC-551] Add filters to eagerly joined entities in the persisters --- lib/Doctrine/ORM/Persisters/BasicEntityPersister.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php b/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php index 51cce15a4..737a7c1de 100644 --- a/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php +++ b/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php @@ -1020,10 +1020,17 @@ class BasicEntityPersister $this->_selectJoinSql .= ' AND '; } + $tableAlias = $this->_getSQLTableAlias($assoc['targetEntity'], $assocAlias); $this->_selectJoinSql .= $this->_getSQLTableAlias($assoc['sourceEntity']) . '.' . $sourceCol . ' = ' - . $this->_getSQLTableAlias($assoc['targetEntity'], $assocAlias) . '.' . $targetCol . ' '; + . $tableAlias . '.' . $targetCol . ' '; + $first = false; } + + // Add filter SQL + if('' !== $filterSql = $this->generateFilterConditionSQL($eagerEntity, $tableAlias)) { + $this->_selectJoinSql .= ' AND ' . $filterSql; + } } else { $eagerEntity = $this->_em->getClassMetadata($assoc['targetEntity']); $owningAssoc = $eagerEntity->getAssociationMapping($assoc['mappedBy']);