Doctrine ODMには、コレクションに使用する名前を指定するアノテーション(コレクション)があります。デフォルトではクラス名ですが、簡単に変更できます。Doctrine ODM - MappedSuperclassのコレクション名を指定する
しかし、他のクラスによって拡張されたスーパークラスはマップされています。継承型は単一のコレクションであり、このコレクションには基本抽象クラスの名前が付けられます。この名前を変更するにはどうすればよいですか?
私はクラスBaseを持っているとしましょう、それは拡張されます。しかし、私はそのコレクションをItemsという名前にしたい。私は明らかに、すべての拡張クラスでアノテーションを変更したくないのは、それはかなり冗長でエラーが発生しやすいからです。
ありがとうございました。私はMappedSuperclassのポイントを逃した。私はどういうわけか、いつも抽象クラスのエイリアスだと思っていて、抽象クラスであるすべてのクラスはMappedSuperclassでなければなりません。マップされたスーパークラスをドキュメントに変更する(そして抽象的に維持する)ことで、私の問題が解決されました。 –