Merge branch 'DDC-2530'
This commit is contained in:
commit
4d93a4950b
@ -2773,6 +2773,8 @@ class UnitOfWork implements PropertyChangedListener
|
||||
$persister->loadManyToManyCollection($assoc, $collection->getOwner(), $collection);
|
||||
break;
|
||||
}
|
||||
|
||||
$collection->setInitialized(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
68
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC2350Test.php
Normal file
68
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC2350Test.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||
|
||||
use Doctrine\Tests\OrmFunctionalTestCase;
|
||||
|
||||
/**
|
||||
* @group DDC-2350
|
||||
*/
|
||||
class DDC2350Test extends OrmFunctionalTestCase
|
||||
{
|
||||
protected function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->_schemaTool->createSchema(array(
|
||||
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC2350User'),
|
||||
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC2350Bug'),
|
||||
));
|
||||
}
|
||||
|
||||
public function testEagerCollectionsAreOnlyRetrievedOnce()
|
||||
{
|
||||
$user = new DDC2350User();
|
||||
$bug1 = new DDC2350Bug();
|
||||
$bug1->user = $user;
|
||||
$bug2 = new DDC2350Bug();
|
||||
$bug2->user = $user;
|
||||
|
||||
$this->_em->persist($user);
|
||||
$this->_em->persist($bug1);
|
||||
$this->_em->persist($bug2);
|
||||
$this->_em->flush();
|
||||
|
||||
$this->_em->clear();
|
||||
|
||||
$cnt = $this->getCurrentQueryCount();
|
||||
$user = $this->_em->find(__NAMESPACE__ . '\DDC2350User', $user->id);
|
||||
|
||||
$this->assertEquals($cnt + 2, $this->getCurrentQueryCount());
|
||||
|
||||
$this->assertEquals(2, count($user->reportedBugs));
|
||||
|
||||
$this->assertEquals($cnt + 2, $this->getCurrentQueryCount());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Entity
|
||||
*/
|
||||
class DDC2350User
|
||||
{
|
||||
/** @Id @Column(type="integer") @GeneratedValue */
|
||||
public $id;
|
||||
/** @OneToMany(targetEntity="DDC2350Bug", mappedBy="user", fetch="EAGER") */
|
||||
public $reportedBugs;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Entity
|
||||
*/
|
||||
class DDC2350Bug
|
||||
{
|
||||
/** @Id @Column(type="integer") @GeneratedValue */
|
||||
public $id;
|
||||
/** @ManyToOne(targetEntity="DDC2350User", inversedBy="reportedBugs") */
|
||||
public $user;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user