2012-07-07 17:15:32 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
|
|
|
|
2016-05-11 02:41:26 +07:00
|
|
|
use Doctrine\ORM\Events;
|
|
|
|
use Doctrine\Tests\OrmFunctionalTestCase;
|
2012-07-07 17:15:32 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @group DDC-1707
|
|
|
|
*/
|
2016-05-11 02:41:26 +07:00
|
|
|
class DDC1707Test extends OrmFunctionalTestCase
|
2012-07-07 17:15:32 +02:00
|
|
|
{
|
|
|
|
public function setUp()
|
|
|
|
{
|
|
|
|
parent::setUp();
|
|
|
|
|
|
|
|
try {
|
|
|
|
$this->_schemaTool->createSchema(array(
|
|
|
|
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1509File'),
|
|
|
|
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1509Picture'),
|
|
|
|
));
|
|
|
|
} catch (\Exception $ignored) {
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testPostLoadOnChild()
|
|
|
|
{
|
2012-07-31 20:10:36 -03:00
|
|
|
$class = $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1707Child');
|
2012-07-07 17:15:32 +02:00
|
|
|
$entity = new DDC1707Child();
|
2012-07-31 20:10:36 -03:00
|
|
|
|
2016-05-11 02:41:26 +07:00
|
|
|
$class->invokeLifecycleCallbacks(Events::postLoad, $entity);
|
2012-07-07 17:15:32 +02:00
|
|
|
|
|
|
|
$this->assertTrue($entity->postLoad);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @Entity
|
|
|
|
* @InheritanceType("SINGLE_TABLE")
|
|
|
|
* @DiscriminatorMap({"c": "DDC1707Child"})
|
|
|
|
* @HasLifecycleCallbacks
|
|
|
|
*/
|
|
|
|
abstract class DDC1707Base
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @Id @Column(type="integer") @GeneratedValue
|
|
|
|
*/
|
|
|
|
protected $id;
|
|
|
|
|
|
|
|
public $postLoad = false;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @PostLoad
|
|
|
|
*/
|
|
|
|
public function onPostLoad()
|
|
|
|
{
|
|
|
|
$this->postLoad = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* @Entity
|
|
|
|
*/
|
|
|
|
class DDC1707Child extends DDC1707Base
|
|
|
|
{
|
|
|
|
}
|