我正在尝试为Symfony中的类似分类广告的网站制作一个列表系统。我希望有多个不同字段的列表类型(以及一些常见字段)。
我打算创建一个主要的Listing类,它将包含所有常见字段(名称,描述,价格),然后是具有特定于不同类型的字段的子类。
通过我的研究,听起来像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
{
}
谢谢!
答案 0 :(得分:0)
在Class Table Inheritance的学说文档中,您可以找到使用它的一些注意事项。摘录了一些重要事实:
由于您只有一个继承级别(所有列表都扩展了您的基础Listing
),因此不应产生太大影响。