1
0
mirror of synced 2024-12-15 23:56:02 +03:00
doctrine2/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC812Test.php

49 lines
1.4 KiB
PHP

<?php
namespace Doctrine\Tests\ORM\Functional\Ticket;
use Doctrine\Tests\Models\CMS\CmsArticle;
use Doctrine\Tests\Models\CMS\CmsComment;
require_once __DIR__ . '/../../../TestInit.php';
class DDC812Test extends \Doctrine\Tests\OrmFunctionalTestCase
{
protected function setUp()
{
$this->useModelSet('cms');
parent::setUp();
}
/**
* @group DDC-812
*/
public function testFetchJoinInitializesPreviouslyUninitializedCollectionOfManagedEntity()
{
//$this->_em->getConnection()->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\EchoSQLLogger);
$article = new CmsArticle;
$article->topic = "hello";
$article->text = "talk talk talk";
$comment = new CmsComment;
$comment->topic = "good!";
$comment->text = "stuff!";
$comment->article = $article;
$this->_em->persist($article);
$this->_em->persist($comment);
$this->_em->flush();
$this->_em->clear();
$article2 = $this->_em->find(get_class($article), $article->id);
$article2Again = $this->_em->createQuery(
"select a, c from Doctrine\Tests\Models\CMS\CmsArticle a join a.comments c where a.id = ?1")
->setParameter(1, $article->id)
->getSingleResult();
$this->assertTrue($article2Again === $article2);
$this->assertTrue($article2Again->comments->isInitialized());
}
}