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