2010-10-31 13:07:26 +03:00
|
|
|
<?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";
|
2011-12-20 01:56:19 +04:00
|
|
|
|
2010-10-31 13:07:26 +03:00
|
|
|
$comment = new CmsComment;
|
|
|
|
$comment->topic = "good!";
|
|
|
|
$comment->text = "stuff!";
|
|
|
|
$comment->article = $article;
|
2011-12-20 01:56:19 +04:00
|
|
|
|
2010-10-31 13:07:26 +03:00
|
|
|
$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());
|
|
|
|
}
|
|
|
|
}
|