diff --git a/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php b/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php index 9c84fe594..34038c6a1 100644 --- a/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php +++ b/lib/Doctrine/ORM/Persisters/ManyToManyPersister.php @@ -591,7 +591,8 @@ class ManyToManyPersister extends AbstractCollectionPersister $rsm = new Query\ResultSetMapping(); $rsm->addEntityResult($mapping['targetEntity'], 'r'); - +$result = $hydrator->hydrateAll($stmt, $rsm); + var_dump($result); return $hydrator->hydrateAll($stmt, $rsm); } @@ -601,14 +602,14 @@ class ManyToManyPersister extends AbstractCollectionPersister * * @param \Doctrine\Common\Collections\Criteria $criteria * - * @return array(array(), array()) + * @return array */ private function expandCriteriaParameters(Criteria $criteria) { $expression = $criteria->getWhereExpression(); if ($expression === null) { - return array(array(), array()); + return array(); } $valueVisitor = new SqlValueVisitor(); diff --git a/tests/Doctrine/Tests/ORM/Functional/ManyToManyBasicAssociationTest.php b/tests/Doctrine/Tests/ORM/Functional/ManyToManyBasicAssociationTest.php index 1e1df9d51..bc97128cc 100644 --- a/tests/Doctrine/Tests/ORM/Functional/ManyToManyBasicAssociationTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/ManyToManyBasicAssociationTest.php @@ -2,6 +2,7 @@ namespace Doctrine\Tests\ORM\Functional; +use Doctrine\Common\Collections\Criteria; use Doctrine\Tests\Models\CMS\CmsUser, Doctrine\Tests\Models\CMS\CmsGroup, Doctrine\Common\Collections\ArrayCollection; @@ -377,4 +378,20 @@ class ManyToManyBasicAssociationTest extends \Doctrine\Tests\OrmFunctionalTestCa $user = $this->_em->find(get_class($user), $user->id); $this->assertEquals(0, count($user->groups)); } + + public function testMatching() + { + $user = $this->addCmsUserGblancoWithGroups(2); + $this->_em->clear(); + + $user = $this->_em->find(get_class($user), $user->id); + + $groups = $user->groups; + $this->assertFalse($user->groups->isInitialized(), "Pre-condition: lazy collection"); + + $criteria = Criteria::create();//->where(Criteria::expr()->eq('name', (string) 'Developers_0')); + $result = $groups->matching($criteria); + + //$this->assertCount(1, $result); + } }