Doctrineのドキュメント によると 、クラスを拡張する方法は3つあります:
- マップされたスーパークラス :親クラスはない エンティティ。
- 単一テーブル継承 :すべてのデータ(追加のフィールドを含む)用の1つの大きなテーブル。
- クラステーブル継承 :1つのメインテーブルと、追加のフィールドを持つエンティティごとに追加のテーブル。
単一テーブル継承またはクラステーブル継承のいずれかが必要です。
親クラスPostが必要なため、マップされたスーパークラスは機能しません スタンドアロンエンティティになります。その場合、Post クラスはabstractとして定義しないでください 。
余分なフィールドが大量にある場合を除いて、おそらくsingle table inheritanceを使用する必要があります。 。