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

65 lines
1.6 KiB
PHP

<?php
namespace Doctrine\Tests\ORM\Functional\Ticket;
use Doctrine\Tests\Models\Generic\DateTimeModel;
use Doctrine\Common\Collections\Criteria;
/**
* @group DDC-2106
*/
class DDC2106Test extends \Doctrine\Tests\OrmFunctionalTestCase
{
protected function setUp()
{
parent::setUp();
$this->_schemaTool->createSchema(array(
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC2106Entity'),
));
}
public function testDetachedEntityAsId()
{
// We want an uninitialized PersistentCollection $entity->children
$entity = new DDC2106Entity();
$this->_em->persist($entity);
$this->_em->flush();
$this->_em->detach($entity);
$entity = $this->_em->getRepository(__NAMESPACE__ . '\DDC2106Entity')->findOneBy(array());
// ... and a managed entity without id
$entityWithoutId = new DDC2106Entity();
$this->_em->persist($entityWithoutId);
$criteria = Criteria::create()->where(Criteria::expr()->eq('parent', $entityWithoutId));
$entity->children->matching($criteria)->count();
}
}
/**
* @Entity
*/
class DDC2106Entity
{
/**
* @Id
* @GeneratedValue(strategy="IDENTITY")
* @Column(type="integer")
*/
public $id;
/** @ManyToOne(targetEntity="DDC2106Entity", inversedBy="children") */
public $parent;
/**
* @OneToMany(targetEntity="DDC2106Entity", mappedBy="parent", cascade={"persist"})
*/
public $children;
public function __construct()
{
$this->children = new \Doctrine\Common\Collections\ArrayCollection;
}
}