ビジネスロジックを配置する場所に関連して、プロジェクトで設計上の問題が発生しています。
Event、TicketOrder、Ticket という 3 つのエンティティがあります。1 つのイベントには多数の TicketOrder があり、1 つの TicketOrder には多数のチケットがあります。
私のテンプレートでは、イベントのチケット数を表示する必要があります。これを達成するための最善のアプローチを考えましたが、良い解決策が得られませんでした。私はこれを試しました:
1) setTicketsCount および getTicketsCount メソッドを使用して、Event エンティティにプライベート メンバー 'ticketsCount' を作成します。LifeCycleCallback 'PostLoad' を使用して 'loadTicketsCount' メソッドを作成し、TicketRepository メソッド 'findByEvent' にアクセスします。エンティティ クラスのリポジトリにアクセスできないため、これは不可能でした。
2) イベントの表示に使用されるアクションで、チケット リポジトリにアクセスし、イベントの「ticketsCount」プロパティを手動で設定できます。アクションが多くのイベントをリストしている場合、すべてのイベントをループして、それぞれにリポジトリ呼び出しを行う必要があるため、これが良いアプローチであるかどうかはわかりません。
これを達成するための最善のアプローチが本当にわからないので、誰かが私を助けてくれれば本当に感謝しています。
ありがとう!;)