これは、新しいプロジェクト、Field Collection vs Entity Reference + custom entityに直面するとき、または構造が単純な場合、Field Collection vs複数のdb列/ Multifieldを持つカスタムフィールドに直面するときに自分自身に疑問を投げかけます。これが私の経験に基づいた私の意見です。
マルチフィールドは素晴らしい概念です。フィールドコレクションの「軽量」バージョンであり、関係を持つエンティティ構造を作成する代わりに、エンティティを作成せずに単純なユースケースをカバーします。ただし、完全な機能の統合ではない、実際に多言語ではないなど、多くの問題があります(したがって、これを使用する予定の場合、貢献はおそらく大歓迎です)。
Field Collectionは、あちこちで微調整するだけで実行できるサイトを実行している場合に最適なソリューションであり、内部をあまり心配することなく、サイトビルダーに複雑な構造を作成するための強力なツールを提供します。基本的に、IDによって「ホスト」エンティティに関連するエンティティを作成し、フィールドとすべてにフィールドを追加できるようにします。欠点は、エンティティコレクションを使用したフィールドコレクションの管理やデータの移行などの複雑な操作を実行するために必要なフィールドコレクションの内部の知識にあります。汎用ツールであるため、一歩先を行くのはかなり複雑です。
別の選択肢として、Entity ReferenceでECKを使用する方法がありますが、これまでの私の経験は災害であり、ヘルパーを使用せずにコードでエンティティタイプを作成する方が簡単です。
エンティティリファレンスを使用してデータモデルに関連するエンティティタイプを作成する時間と開発者がいる場合は、必要なものとプロジェクトに最適なものの問題であり、何が起こっているかをより詳細に制御できますデータ構造ですが、あなたもそのための「責任者」です。
上記のすべてのソリューションでしばらくテストした後、私のチームでは常にエンティティタイプ+ ERを使用しますが、データの移行や複雑なi18nセットアップのない小規模プロジェクトでは、Field Collectionが最も速い方法であることがわかります行く。