Doctrine\Tests\ODM\PHPCR\Functional\UnitOfWorkTest::testFetchingMultipleHierarchicalObjectsWithChildIdFirst PHP Method

testFetchingMultipleHierarchicalObjectsWithChildIdFirst() public method

    public function testFetchingMultipleHierarchicalObjectsWithChildIdFirst()
    {
        $parent = new ParentTestObj();
        $parent->nodename = 'parent';
        $parent->name = 'parent';
        $parent->parent = $this->dm->find(null, 'functional');
        $child = new ParentTestObj();
        $child->nodename = 'child';
        $child->name = 'child';
        $child->parent = $parent;
        $this->dm->persist($parent);
        $this->dm->persist($child);
        $parentId = $this->uow->getDocumentId($parent);
        $childId = $this->uow->getDocumentId($child);
        $this->dm->flush();
        $this->dm->clear();
        // this forces the objects to be loaded in an order where the $parent will become a proxy
        $documents = $this->dm->findMany('Doctrine\\Tests\\Models\\References\\ParentTestObj', array($childId, $parentId));
        $this->assertCount(2, $documents);
        /* @var $child ParentTestObj */
        /* @var $parent ParentTestObj */
        $child = $documents->first();
        $parent = $documents->last();
        $this->assertSame($child->parent, $parent);
        $this->assertSame('parent', $parent->nodename);
    }