Когда я создаю дочерний класс #, который заполняю его значениями и сохраняю его в БД (постоянный, промывочный), я не беспокоюсь, все это база данных.
Когда я беру Ребенок # из базы данных. Все атрибуты Parent1 не гидратированы, у меня есть атрибуты GrandParent, Child #, но нет атрибутов Parent1, почему?
/**
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name = "class", type = "int")
* @ORM\DiscriminatorMap({
* 0 = "Parent2",
* 1 = "Child1",
* 2 = "Child2"})
*/
abstract class GrandParent { ... }
/** @ORM\Entity */
abstract class Parent1 extends GrandParent { ... }
/** @ORM\Entity */
class Parent2 extends GrandPArent { ... }
/** @ORM\Entity */
class Child1 extends Parent1 { ... }
/** @ORM\Entity */
class Child2 extends Parent1 { ... }
Спасибо за вашу помощь.
Я люблю вас ! Спасибо ! Большое спасибо !





Я думаю, это ваша проблема: `@ORM \ DiscriminatorColumn (name = " class ", type = " int ")`. По умолчанию и во всей Doctrine для дискриминатора используется «строковый» тип. Не могли бы вы попробовать? Кроме того, нет необходимости объявлять DiscrimatorMap (просто оставьте его полностью), Doctrine создаст его, если вы его не предоставите, дополнительная информация в мой старый ответ