1
0
mirror of synced 2025-02-09 00:39:25 +03:00

Added a test case for postLoad on fetch-joined entities

see https://github.com/doctrine/doctrine2/issues/6568
This commit is contained in:
stoccc 2017-07-21 10:33:28 +02:00 committed by GitHub
parent 63519be69c
commit c47cf1de34

View File

@ -268,6 +268,47 @@ DQL;
break;
}
}
/**
* https://github.com/doctrine/doctrine2/issues/6568
*/
public function testPostLoadIsInvokedOnFetchJoinedEntities()
{
$entA = new LifecycleCallbackCascader();
$this->_em->persist($entA);
$entB_1 = new LifecycleCallbackTestEntity();
$entB_2 = new LifecycleCallbackTestEntity();
$entA->entities[] = $entB_1;
$entA->entities[] = $entB_2;
$entB_1->cascader = $entA;
$entB_2->cascader = $entA;
$this->_em->flush();
$this->_em->clear();
$dql = <<<'DQL'
SELECT
entA, entB
FROM
Doctrine\Tests\ORM\Functional\LifecycleCallbackCascader AS entA
LEFT JOIN
entA.entities AS entB
WHERE
entA.id = %s
DQL;
$fetchedA = $this
->_em
->createQuery(sprintf($dql, $entA->getId()))
->getOneOrNullResult();
$this->assertTrue($fetchedA->postLoadCallbackInvoked);
foreach ($fetchedA->entities as $fetchJoinedEntB) {
$this->assertTrue($fetchJoinedEntB->postLoadCallbackInvoked);
}
}
public function testLifecycleCallbacksGetInherited()
{