public function testClonedPersistentCollectionUpdatesCorrectly() { $u = new User(); $u->getPhonenumbers()->add(new Phonenumber('123456')); $u2 = new User(); $u2->getPhonenumbers()->add(new Phonenumber('9876543')); $u2->getPhonenumbers()->add(new Phonenumber('7654321')); $this->dm->persist($u); $this->dm->persist($u2); $this->dm->flush(); $u2->setPhonenumbers(clone $u->getPhonenumbers()); $this->dm->flush(); $this->dm->clear(); $u = $this->dm->find(get_class($u), $u->getId()); $this->assertCount(1, $u->getPhonenumbers()); $u2 = $this->dm->find(get_class($u2), $u2->getId()); $this->assertCount(1, $u2->getPhonenumbers()); $this->assertSame('123456', $u2->getPhonenumbers()->first()->getPhonenumber()); }
public function testSameObjectValuesInCollection() { $user = new User(); $user->setUsername('testing'); $user->getPhonenumbers()->add(new Phonenumber('6155139185')); $user->getPhonenumbers()->add(new Phonenumber('6155139185')); $this->dm->persist($user); $this->dm->flush(); $this->dm->clear(); $user = $this->dm->getRepository('Documents\\User')->findOneBy(array('username' => 'testing')); $this->assertEquals(2, count($user->getPhonenumbers())); }