Put all tests classes in a single namespace
This commit is contained in:
parent
167dfde00f
commit
d2f7514248
@ -2290,7 +2290,7 @@ class SqlWalker implements TreeWalker
|
|||||||
|
|
||||||
$metadata = $this->em->getClassMetadata($parameter);
|
$metadata = $this->em->getClassMetadata($parameter);
|
||||||
|
|
||||||
if (! $metadata->getReflectionClass()->isSubclassOf($discrClass->name)) {
|
if ($metadata->getName() !== $discrClass->name && ! $metadata->getReflectionClass()->isSubclassOf($discrClass->name)) {
|
||||||
throw QueryException::instanceOfUnrelatedClass($parameter, $discrClass->name);
|
throw QueryException::instanceOfUnrelatedClass($parameter, $discrClass->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,114 +1,108 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\Ticket {
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||||
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Employee;
|
use Doctrine\Tests\OrmFunctionalTestCase;
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Person;
|
|
||||||
use Doctrine\Tests\OrmFunctionalTestCase;
|
|
||||||
|
|
||||||
class Ticket4646InstanceOfAbstractTest extends OrmFunctionalTestCase
|
class Ticket4646InstanceOfAbstractTest extends OrmFunctionalTestCase
|
||||||
|
{
|
||||||
|
protected function setUp()
|
||||||
{
|
{
|
||||||
protected function setUp()
|
parent::setUp();
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this->_schemaTool->createSchema([
|
$this->_schemaTool->createSchema([
|
||||||
$this->_em->getClassMetadata(Person::class),
|
$this->_em->getClassMetadata(PersonTicket4646Abstract::class),
|
||||||
$this->_em->getClassMetadata(Employee::class),
|
$this->_em->getClassMetadata(EmployeeTicket4646Abstract::class),
|
||||||
]);
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testInstanceOf()
|
||||||
|
{
|
||||||
|
$this->loadData();
|
||||||
|
|
||||||
|
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646Abstract p
|
||||||
|
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646Abstract';
|
||||||
|
$query = $this->_em->createQuery($dql);
|
||||||
|
$result = $query->getResult();
|
||||||
|
|
||||||
|
$this->assertCount(1, $result);
|
||||||
|
|
||||||
|
foreach ($result as $r) {
|
||||||
|
$this->assertInstanceOf(PersonTicket4646Abstract::class, $r);
|
||||||
|
$this->assertInstanceOf(EmployeeTicket4646Abstract::class, $r);
|
||||||
|
$this->assertSame('bar', $r->getName());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function testInstanceOf()
|
private function loadData()
|
||||||
{
|
{
|
||||||
$this->loadData();
|
$employee = new EmployeeTicket4646Abstract();
|
||||||
|
$employee->setName('bar');
|
||||||
|
$employee->setDepartement('qux');
|
||||||
|
|
||||||
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Person p
|
$this->_em->persist($employee);
|
||||||
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Person';
|
|
||||||
$query = $this->_em->createQuery($dql);
|
|
||||||
$result = $query->getResult();
|
|
||||||
|
|
||||||
$this->assertCount(1, $result);
|
$this->_em->flush($employee);
|
||||||
|
|
||||||
foreach ($result as $r) {
|
|
||||||
$this->assertInstanceOf(Person::class, $r);
|
|
||||||
$this->assertInstanceOf(Employee::class, $r);
|
|
||||||
$this->assertSame('bar', $r->getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function loadData()
|
|
||||||
{
|
|
||||||
$employee = new Employee();
|
|
||||||
$employee->setName('bar');
|
|
||||||
$employee->setDepartement('qux');
|
|
||||||
|
|
||||||
$this->_em->persist($employee);
|
|
||||||
|
|
||||||
$this->_em->flush($employee);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest {
|
/**
|
||||||
|
* @Entity()
|
||||||
|
* @Table(name="instance_of_abstract_test_person")
|
||||||
|
* @InheritanceType(value="JOINED")
|
||||||
|
* @DiscriminatorColumn(name="kind", type="string")
|
||||||
|
* @DiscriminatorMap(value={
|
||||||
|
* "employee": EmployeeTicket4646Abstract::class
|
||||||
|
* })
|
||||||
|
*/
|
||||||
|
abstract class PersonTicket4646Abstract
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @Id()
|
||||||
|
* @GeneratedValue()
|
||||||
|
* @Column(type="integer")
|
||||||
|
*/
|
||||||
|
private $id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Entity()
|
* @Column(type="string")
|
||||||
* @Table(name="instance_of_abstract_test_person")
|
|
||||||
* @InheritanceType(value="JOINED")
|
|
||||||
* @DiscriminatorColumn(name="kind", type="string")
|
|
||||||
* @DiscriminatorMap(value={
|
|
||||||
* "employee": Employee::class
|
|
||||||
* })
|
|
||||||
*/
|
*/
|
||||||
abstract class Person
|
private $name;
|
||||||
|
|
||||||
|
public function getId()
|
||||||
{
|
{
|
||||||
/**
|
return $this->id;
|
||||||
* @Id()
|
|
||||||
* @GeneratedValue()
|
|
||||||
* @Column(type="integer")
|
|
||||||
*/
|
|
||||||
private $id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Column(type="string")
|
|
||||||
*/
|
|
||||||
private $name;
|
|
||||||
|
|
||||||
public function getId()
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getName()
|
|
||||||
{
|
|
||||||
return $this->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setName($name)
|
|
||||||
{
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function getName()
|
||||||
* @Entity()
|
|
||||||
* @Table(name="instance_of_abstract_test_employee")
|
|
||||||
*/
|
|
||||||
class Employee extends Person
|
|
||||||
{
|
{
|
||||||
/**
|
return $this->name;
|
||||||
* @Column(type="string")
|
}
|
||||||
*/
|
|
||||||
private $departement;
|
|
||||||
|
|
||||||
public function getDepartement()
|
public function setName($name)
|
||||||
{
|
{
|
||||||
return $this->departement;
|
$this->name = $name;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public function setDepartement($departement)
|
|
||||||
{
|
/**
|
||||||
$this->departement = $departement;
|
* @Entity()
|
||||||
}
|
* @Table(name="instance_of_abstract_test_employee")
|
||||||
|
*/
|
||||||
|
class EmployeeTicket4646Abstract extends PersonTicket4646Abstract
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @Column(type="string")
|
||||||
|
*/
|
||||||
|
private $departement;
|
||||||
|
|
||||||
|
public function getDepartement()
|
||||||
|
{
|
||||||
|
return $this->departement;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setDepartement($departement)
|
||||||
|
{
|
||||||
|
$this->departement = $departement;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,156 +1,150 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\Ticket {
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||||
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Employee;
|
use Doctrine\Tests\OrmFunctionalTestCase;
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Engineer;
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person;
|
|
||||||
use Doctrine\Tests\OrmFunctionalTestCase;
|
|
||||||
|
|
||||||
class Ticket4646InstanceOfMultiLevelTest extends OrmFunctionalTestCase
|
class Ticket4646InstanceOfMultiLevelTest extends OrmFunctionalTestCase
|
||||||
|
{
|
||||||
|
protected function setUp()
|
||||||
{
|
{
|
||||||
protected function setUp()
|
parent::setUp();
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this->_schemaTool->createSchema([
|
$this->_schemaTool->createSchema([
|
||||||
$this->_em->getClassMetadata(Person::class),
|
$this->_em->getClassMetadata(PersonTicket4646MultiLevel::class),
|
||||||
$this->_em->getClassMetadata(Employee::class),
|
$this->_em->getClassMetadata(EmployeeTicket4646MultiLevel::class),
|
||||||
$this->_em->getClassMetadata(Engineer::class),
|
$this->_em->getClassMetadata(EngineerTicket4646MultiLevel::class),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testInstanceOf()
|
public function testInstanceOf()
|
||||||
{
|
{
|
||||||
$this->loadData();
|
$this->loadData();
|
||||||
|
|
||||||
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person p
|
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646MultiLevel p
|
||||||
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person';
|
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646MultiLevel';
|
||||||
$query = $this->_em->createQuery($dql);
|
$query = $this->_em->createQuery($dql);
|
||||||
$result = $query->getResult();
|
$result = $query->getResult();
|
||||||
|
|
||||||
$this->assertCount(3, $result);
|
$this->assertCount(3, $result);
|
||||||
|
|
||||||
foreach ($result as $r) {
|
foreach ($result as $r) {
|
||||||
$this->assertInstanceOf(Person::class, $r);
|
$this->assertInstanceOf(PersonTicket4646MultiLevel::class, $r);
|
||||||
if ($r instanceof Engineer) {
|
if ($r instanceof EngineerTicket4646MultiLevel) {
|
||||||
$this->assertEquals('foobar', $r->getName());
|
$this->assertEquals('foobar', $r->getName());
|
||||||
$this->assertEquals('doctrine', $r->getSpecialization());
|
$this->assertEquals('doctrine', $r->getSpecialization());
|
||||||
} elseif ($r instanceof Employee) {
|
} elseif ($r instanceof EmployeeTicket4646MultiLevel) {
|
||||||
$this->assertEquals('bar', $r->getName());
|
$this->assertEquals('bar', $r->getName());
|
||||||
$this->assertEquals('qux', $r->getDepartement());
|
$this->assertEquals('qux', $r->getDepartement());
|
||||||
} else {
|
} else {
|
||||||
$this->assertEquals('foo', $r->getName());
|
$this->assertEquals('foo', $r->getName());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private function loadData()
|
private function loadData()
|
||||||
{
|
{
|
||||||
$person = new Person();
|
$person = new PersonTicket4646MultiLevel();
|
||||||
$person->setName('foo');
|
$person->setName('foo');
|
||||||
|
|
||||||
$employee = new Employee();
|
$employee = new EmployeeTicket4646MultiLevel();
|
||||||
$employee->setName('bar');
|
$employee->setName('bar');
|
||||||
$employee->setDepartement('qux');
|
$employee->setDepartement('qux');
|
||||||
|
|
||||||
$engineer = new Engineer();
|
$engineer = new EngineerTicket4646MultiLevel();
|
||||||
$engineer->setName('foobar');
|
$engineer->setName('foobar');
|
||||||
$engineer->setDepartement('dep');
|
$engineer->setDepartement('dep');
|
||||||
$engineer->setSpecialization('doctrine');
|
$engineer->setSpecialization('doctrine');
|
||||||
|
|
||||||
$this->_em->persist($person);
|
$this->_em->persist($person);
|
||||||
$this->_em->persist($employee);
|
$this->_em->persist($employee);
|
||||||
$this->_em->persist($engineer);
|
$this->_em->persist($engineer);
|
||||||
|
|
||||||
$this->_em->flush(array($person, $employee, $engineer));
|
$this->_em->flush(array($person, $employee, $engineer));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest {
|
/**
|
||||||
|
* @Entity()
|
||||||
|
* @Table(name="instance_of_multi_level_test_person")
|
||||||
|
* @InheritanceType(value="JOINED")
|
||||||
|
* @DiscriminatorColumn(name="kind", type="string")
|
||||||
|
* @DiscriminatorMap(value={
|
||||||
|
* "person": "Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646MultiLevel",
|
||||||
|
* "employee": "Doctrine\Tests\ORM\Functional\Ticket\EmployeeTicket4646MultiLevel",
|
||||||
|
* "engineer": "Doctrine\Tests\ORM\Functional\Ticket\EngineerTicket4646MultiLevel",
|
||||||
|
* })
|
||||||
|
*/
|
||||||
|
class PersonTicket4646MultiLevel
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @Entity()
|
* @Id()
|
||||||
* @Table(name="instance_of_multi_level_test_person")
|
* @GeneratedValue()
|
||||||
* @InheritanceType(value="JOINED")
|
* @Column(type="integer")
|
||||||
* @DiscriminatorColumn(name="kind", type="string")
|
|
||||||
* @DiscriminatorMap(value={
|
|
||||||
* "person": "Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person",
|
|
||||||
* "employee": "Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Employee",
|
|
||||||
* "engineer": "Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Engineer",
|
|
||||||
* })
|
|
||||||
*/
|
*/
|
||||||
class Person
|
private $id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Column(type="string")
|
||||||
|
*/
|
||||||
|
private $name;
|
||||||
|
|
||||||
|
public function getId()
|
||||||
{
|
{
|
||||||
/**
|
return $this->id;
|
||||||
* @Id()
|
|
||||||
* @GeneratedValue()
|
|
||||||
* @Column(type="integer")
|
|
||||||
*/
|
|
||||||
private $id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Column(type="string")
|
|
||||||
*/
|
|
||||||
private $name;
|
|
||||||
|
|
||||||
public function getId()
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getName()
|
|
||||||
{
|
|
||||||
return $this->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setName($name)
|
|
||||||
{
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function getName()
|
||||||
* @Entity()
|
|
||||||
* @Table(name="instance_of_multi_level_employee")
|
|
||||||
*/
|
|
||||||
class Employee extends Person
|
|
||||||
{
|
{
|
||||||
/**
|
return $this->name;
|
||||||
* @Column(type="string")
|
|
||||||
*/
|
|
||||||
private $departement;
|
|
||||||
|
|
||||||
public function getDepartement()
|
|
||||||
{
|
|
||||||
return $this->departement;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setDepartement($departement)
|
|
||||||
{
|
|
||||||
$this->departement = $departement;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function setName($name)
|
||||||
* @Entity()
|
|
||||||
* @Table(name="instance_of_multi_level_engineer")
|
|
||||||
*/
|
|
||||||
class Engineer extends Employee
|
|
||||||
{
|
{
|
||||||
/**
|
$this->name = $name;
|
||||||
* @Column(type="string")
|
}
|
||||||
*/
|
}
|
||||||
private $specialization;
|
|
||||||
|
/**
|
||||||
public function getSpecialization()
|
* @Entity()
|
||||||
{
|
* @Table(name="instance_of_multi_level_employee")
|
||||||
return $this->specialization;
|
*/
|
||||||
}
|
class EmployeeTicket4646MultiLevel extends PersonTicket4646MultiLevel
|
||||||
|
{
|
||||||
public function setSpecialization($specialization)
|
/**
|
||||||
{
|
* @Column(type="string")
|
||||||
$this->specialization = $specialization;
|
*/
|
||||||
}
|
private $departement;
|
||||||
|
|
||||||
|
public function getDepartement()
|
||||||
|
{
|
||||||
|
return $this->departement;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setDepartement($departement)
|
||||||
|
{
|
||||||
|
$this->departement = $departement;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity()
|
||||||
|
* @Table(name="instance_of_multi_level_engineer")
|
||||||
|
*/
|
||||||
|
class EngineerTicket4646MultiLevel extends EmployeeTicket4646MultiLevel
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @Column(type="string")
|
||||||
|
*/
|
||||||
|
private $specialization;
|
||||||
|
|
||||||
|
public function getSpecialization()
|
||||||
|
{
|
||||||
|
return $this->specialization;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setSpecialization($specialization)
|
||||||
|
{
|
||||||
|
$this->specialization = $specialization;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,121 +1,116 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\Ticket {
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||||
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfTest\Employee;
|
use Doctrine\Tests\OrmFunctionalTestCase;
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfTest\Person;
|
|
||||||
use Doctrine\Tests\OrmFunctionalTestCase;
|
|
||||||
|
|
||||||
class Ticket4646InstanceOfTest extends OrmFunctionalTestCase
|
class Ticket4646InstanceOfTest extends OrmFunctionalTestCase
|
||||||
|
{
|
||||||
|
protected function setUp()
|
||||||
{
|
{
|
||||||
protected function setUp()
|
parent::setUp();
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this->_schemaTool->createSchema([
|
$this->_schemaTool->createSchema([
|
||||||
$this->_em->getClassMetadata(Person::class),
|
$this->_em->getClassMetadata(PersonTicket4646::class),
|
||||||
$this->_em->getClassMetadata(Employee::class),
|
$this->_em->getClassMetadata(EmployeeTicket4646::class),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testInstanceOf()
|
public function testInstanceOf()
|
||||||
{
|
{
|
||||||
$this->loadData();
|
$this->loadData();
|
||||||
|
|
||||||
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\InstanceOfTest\Person p
|
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646 p
|
||||||
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\InstanceOfTest\Person';
|
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646';
|
||||||
$query = $this->_em->createQuery($dql);
|
$query = $this->_em->createQuery($dql);
|
||||||
$result = $query->getResult();
|
$result = $query->getResult();
|
||||||
|
|
||||||
$this->assertCount(2, $result);
|
$this->assertCount(2, $result);
|
||||||
|
|
||||||
foreach ($result as $r) {
|
foreach ($result as $r) {
|
||||||
$this->assertInstanceOf(Person::class, $r);
|
$this->assertInstanceOf(PersonTicket4646::class, $r);
|
||||||
if ($r instanceof Employee) {
|
if ($r instanceof EmployeeTicket4646) {
|
||||||
$this->assertEquals('bar', $r->getName());
|
$this->assertEquals('bar', $r->getName());
|
||||||
} else {
|
} else {
|
||||||
$this->assertEquals('foo', $r->getName());
|
$this->assertEquals('foo', $r->getName());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private function loadData()
|
private function loadData()
|
||||||
{
|
{
|
||||||
$person = new Person();
|
$person = new PersonTicket4646();
|
||||||
$person->setName('foo');
|
$person->setName('foo');
|
||||||
|
|
||||||
$employee = new Employee();
|
$employee = new EmployeeTicket4646();
|
||||||
$employee->setName('bar');
|
$employee->setName('bar');
|
||||||
$employee->setDepartement('qux');
|
$employee->setDepartement('qux');
|
||||||
|
|
||||||
$this->_em->persist($person);
|
$this->_em->persist($person);
|
||||||
$this->_em->persist($employee);
|
$this->_em->persist($employee);
|
||||||
|
|
||||||
$this->_em->flush(array($person, $employee));
|
$this->_em->flush(array($person, $employee));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\InstanceOfTest {
|
/**
|
||||||
|
* @Entity()
|
||||||
|
* @Table(name="instance_of_test_person")
|
||||||
|
* @InheritanceType(value="JOINED")
|
||||||
|
* @DiscriminatorColumn(name="kind", type="string")
|
||||||
|
* @DiscriminatorMap(value={
|
||||||
|
* "person": "Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646",
|
||||||
|
* "employee": "Doctrine\Tests\ORM\Functional\Ticket\EmployeeTicket4646"
|
||||||
|
* })
|
||||||
|
*/
|
||||||
|
class PersonTicket4646
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @Entity()
|
* @Id()
|
||||||
* @Table(name="instance_of_test_person")
|
* @GeneratedValue()
|
||||||
* @InheritanceType(value="JOINED")
|
* @Column(type="integer")
|
||||||
* @DiscriminatorColumn(name="kind", type="string")
|
|
||||||
* @DiscriminatorMap(value={
|
|
||||||
* "person": "Doctrine\Tests\ORM\Functional\InstanceOfTest\Person",
|
|
||||||
* "employee": "Doctrine\Tests\ORM\Functional\InstanceOfTest\Employee"
|
|
||||||
* })
|
|
||||||
*/
|
*/
|
||||||
class Person
|
private $id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Column(type="string")
|
||||||
|
*/
|
||||||
|
private $name;
|
||||||
|
|
||||||
|
public function getId()
|
||||||
{
|
{
|
||||||
/**
|
return $this->id;
|
||||||
* @Id()
|
|
||||||
* @GeneratedValue()
|
|
||||||
* @Column(type="integer")
|
|
||||||
*/
|
|
||||||
private $id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Column(type="string")
|
|
||||||
*/
|
|
||||||
private $name;
|
|
||||||
|
|
||||||
public function getId()
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getName()
|
|
||||||
{
|
|
||||||
return $this->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setName($name)
|
|
||||||
{
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function getName()
|
||||||
* @Entity()
|
|
||||||
* @Table(name="instance_of_test_employee")
|
|
||||||
*/
|
|
||||||
class Employee extends Person
|
|
||||||
{
|
{
|
||||||
/**
|
return $this->name;
|
||||||
* @Column(type="string")
|
}
|
||||||
*/
|
|
||||||
private $departement;
|
|
||||||
|
|
||||||
public function getDepartement()
|
public function setName($name)
|
||||||
{
|
{
|
||||||
return $this->departement;
|
$this->name = $name;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public function setDepartement($departement)
|
|
||||||
{
|
/**
|
||||||
$this->departement = $departement;
|
* @Entity()
|
||||||
}
|
* @Table(name="instance_of_test_employee")
|
||||||
|
*/
|
||||||
|
class EmployeeTicket4646 extends PersonTicket4646
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @Column(type="string")
|
||||||
|
*/
|
||||||
|
private $departement;
|
||||||
|
|
||||||
|
public function getDepartement()
|
||||||
|
{
|
||||||
|
return $this->departement;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setDepartement($departement)
|
||||||
|
{
|
||||||
|
$this->departement = $departement;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user