92 lines
1.6 KiB
PHP
92 lines
1.6 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||
|
|
||
|
use Doctrine\Common\Collections\ArrayCollection;
|
||
|
|
||
|
require_once __DIR__ . '/../../../TestInit.php';
|
||
|
|
||
|
class DDC960Test extends \Doctrine\Tests\OrmFunctionalTestCase
|
||
|
{
|
||
|
protected function setUp()
|
||
|
{
|
||
|
parent::setUp();
|
||
|
try {
|
||
|
$this->_schemaTool->createSchema(array(
|
||
|
$this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC960Root'),
|
||
|
$this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC960Child')
|
||
|
));
|
||
|
} catch(\Exception $e) {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @group DDC-960
|
||
|
*/
|
||
|
public function testUpdateRootVersion()
|
||
|
{
|
||
|
$child = new DDC960Child('Test');
|
||
|
$this->_em->persist($child);
|
||
|
$this->_em->flush();
|
||
|
|
||
|
$child->setName("Test2");
|
||
|
|
||
|
$this->_em->flush();
|
||
|
|
||
|
$this->assertEquals(2, $child->getVersion());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @Entity
|
||
|
* @InheritanceType("JOINED")
|
||
|
* @DiscriminatorMap({
|
||
|
* "root" = "DDC960Root",
|
||
|
* "child" = "DDC960Child"
|
||
|
* })
|
||
|
*/
|
||
|
class DDC960Root
|
||
|
{
|
||
|
/**
|
||
|
* @Id @GeneratedValue @Column(type="integer")
|
||
|
*/
|
||
|
private $id;
|
||
|
|
||
|
/**
|
||
|
* @Column(type="integer") @Version
|
||
|
*/
|
||
|
private $version;
|
||
|
|
||
|
public function getId()
|
||
|
{
|
||
|
return $this->id;
|
||
|
}
|
||
|
|
||
|
public function getVersion()
|
||
|
{
|
||
|
return $this->version;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @Entity
|
||
|
*/
|
||
|
class DDC960Child extends DDC960Root
|
||
|
{
|
||
|
/**
|
||
|
* @column(type="string")
|
||
|
* @var string
|
||
|
*/
|
||
|
private $name;
|
||
|
|
||
|
public function __construct($name)
|
||
|
{
|
||
|
$this->name = $name;
|
||
|
}
|
||
|
|
||
|
public function setName($name)
|
||
|
{
|
||
|
$this->name = $name;
|
||
|
}
|
||
|
}
|