*/ class DDC3719Test extends \Doctrine\Tests\OrmFunctionalTestCase { public function setUp() { $this->useModelSet('company'); parent::setUp(); } /** * @group DDC-3719 */ public function testCriteriaOnNotOwningSide() { $manager = new CompanyManager(); $manager->setName('Gandalf'); $manager->setSalary(666); $manager->setTitle('Boss'); $manager->setDepartment('Marketing'); $this->_em->persist($manager); $contractA = new CompanyFlexContract(); $contractA->markCompleted(); $contractA->addManager($manager); $this->_em->persist($contractA); $contractB = new CompanyFlexContract(); $contractB->addManager($manager); $this->_em->persist($contractB); $this->_em->flush(); $this->_em->refresh($manager); $contracts = $manager->managedContracts; static::assertCount(2, $contracts); $criteria = Criteria::create(); $criteria->where(Criteria::expr()->eq("completed", true)); $completedContracts = $contracts->matching($criteria); static::assertCount(1, $completedContracts); } }