Php 条令类表继承-多类型

Php 条令类表继承-多类型,php,inheritance,symfony,doctrine,symfony-2.1,Php,Inheritance,Symfony,Doctrine,Symfony 2.1,我正在尝试为分类广告制作一个列表系统,比如Symfony中的站点。我希望有多个具有不同字段(和一些公共字段)的列表类型 我将创建一个主列表类,该类将包含所有公共字段(名称、描述、价格),然后使用特定于不同类型的字段创建子类 通过我的研究,听起来像是条令中的类表继承是最好的解决方案。我说的对吗?我可能有多达10个“子类型”,听说它对性能可能不是很好 /** * Listing * * @ORM\Table(name="listing") * @ORM\Inh

我正在尝试为分类广告制作一个列表系统,比如Symfony中的站点。我希望有多个具有不同字段(和一些公共字段)的列表类型

我将创建一个主列表类,该类将包含所有公共字段(名称、描述、价格),然后使用特定于不同类型的字段创建子类

通过我的研究,听起来像是条令中的类表继承是最好的解决方案。我说的对吗?我可能有多达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
    {

}

谢谢

在的条令文档中,您可以找到使用它的一些注意事项。摘录了一些重要事实:

  • 在设计时提供最大的灵活性,因为对任何类型的更改总是限于该类型的专用表
  • 这种策略本质上需要多个连接操作来执行几乎任何可能对性能产生负面影响的查询,特别是对于大型表和/或大型层次结构
由于您只有一个继承级别(所有清单都扩展了您的基本
清单
),因此它不会产生太大的影响