Symfony で広告のようなサイトのリスティング システムを作成しようとしています。異なるフィールド (およびいくつかの共通フィールド) を持つ複数のリスティング タイプが必要です。
すべての共通フィールド (名前、説明、価格) を持つメインの Listing クラスを作成してから、さまざまなタイプに固有のフィールドを持つサブクラスを作成するつもりでした。
私の調査によると、Doctrine の Class Table Inheritance が最良の解決策のようです。私はこれで正しいですか?最大 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
{
}
ありがとう!