Я пытаюсь создать систему листинга для сайта, подобного сайту, в Symfony. Я хочу иметь несколько типов листинга с разными полями (и некоторыми общими полями).Наследование классов класса Doctrine - несколько типов
Я собирался сделать основной класс класса, который будет иметь все общие поля (имя, описание, цена), а затем подклассы с полями, специфичными для разных типов.
В моих исследованиях это звучит как «Наследование класса» в Доктрине - лучшее решение. Правильно ли я в этом? У меня может быть до 10 «подтипов», и я слышал, что это может быть не очень хорошо для производительности.
/**
* Listing
*
* @ORM\Table(name="listing")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({"listing" = "Listing","recreation-vehicle" = "RecreationVehicle","vehicle" = "Vehicle","event" = "Event","classified" = "Classified","buyandsell" = "BuySell","real-estate" = "RealEstate","business" = "Business"})
*/
class Listing
{
}
Спасибо!