1
0
mirror of synced 2025-02-20 14:13:15 +03:00

Merge branch 'DDC-2175'

This commit is contained in:
Benjamin Eberlei 2012-12-24 10:40:10 +01:00
commit 59ffbd5f8d
2 changed files with 68 additions and 4 deletions

View File

@ -245,11 +245,13 @@ class JoinedSubclassPersister extends AbstractEntityInheritancePersister
// Make sure the table with the version column is updated even if no columns on that
// table were affected.
if ($isVersioned && ! isset($updateData[$versionedTable])) {
$tableName = $this->quoteStrategy->getTableName($versionedClass, $this->platform);
if ($isVersioned) {
if ( ! isset($updateData[$versionedTable])) {
$tableName = $this->quoteStrategy->getTableName($versionedClass, $this->platform);
$this->updateTable($entity, $tableName, array(), true);
}
$identifiers = $this->em->getUnitOfWork()->getEntityIdentifier($entity);
$this->updateTable($entity, $tableName, array(), true);
$this->assignDefaultVersionValue($entity, $identifiers);
}
}

View File

@ -0,0 +1,62 @@
<?php
namespace Doctrine\Tests\ORM\Functional\Ticket;
/**
* @group DDC-2175
*/
class DDC2175Test extends \Doctrine\Tests\OrmFunctionalTestCase
{
protected function setUp()
{
parent::setUp();
$this->_schemaTool->createSchema(array(
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC2175Entity'),
));
}
public function testIssue()
{
$entity = new DDC2175Entity();
$entity->field = "foo";
$this->_em->persist($entity);
$this->_em->flush();
$this->assertEquals(1, $entity->version);
$entity->field = "bar";
$this->_em->flush();
$this->assertEquals(2, $entity->version);
$entity->field = "baz";
$this->_em->flush();
$this->assertEquals(3, $entity->version);
}
}
/**
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorMap({"entity": "DDC2175Entity"})
*/
class DDC2175Entity
{
/**
* @Id @GeneratedValue @Column(type="integer")
*/
public $id;
/**
* @Column(type="string")
*/
public $field;
/**
* @Version
* @Column(type="integer")
*/
public $version;
}