Здравствуйте. Есть сущность User от нее наследуются сущности Person и Employee, а от Person PersonTypeA, PersonTypeB, PersonTypeC. Т. е. по сути Person, Employee, PersonTypeA, PersonTypeB и PersonTypeC расширяют таблицу User. А на деле получается что к примеру при сохранении сущности PersonTypeA добавляется запись в таблицу "persontypea", "person" и "user". А мне необходимо чтоб запись добавлялась в таблицу "persontypea" и "user". но мне нужны методы someMethodA, someMethodИ которые используются в Person, PersonTypeA, PersonTypeB, PersonTypeC.
Можно ли как то сказать Doctrine что мне нужно унаследовать только методы? Или может как то по другому лучше сделать?
/**
* @Entity
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({
* "person" = "Person"
* "persontypea" = "PersonTypeA",
* "persontypeb" = "PersonTypeB",
* "persontypec" = "PersonTypeC",
* "employee" = "Employee"
* })
*/
abstract class User {
}
/**
* @Entity
**/
class Person extends User {
public function someMethodA() {}
public function someMethodB() {}
}
/**
* @Entity
**/
class PersonTypeA extends Person {
}
/**
* @Entity
**/
class PersonTypeB extends Person {
}
/**
* @Entity
**/
class PersonTypeC extends Person {
}
/**
* @Entity
**/
class Employee extends User {
}