エンティティ、データ マッパー、およびサービス クラスを含むモデル レイヤーを使用して MVC アプリケーションを構築しました。ここまでは順調ですね。しかし今、モデル内のエンティティとは関係のない複数の db テーブルからのデータを含むレポートを表示する必要があるコントローラーがあります。レポートは、結合、SUM/AVG 選択を含む高度な MySQL クエリから作成されます。私が欲しいのはデータの配列だけなので、VIEWに表示されます。
エンティティを返すメソッド ("getById()") と、データベース クエリからデータの配列を返すメソッド ("getAdvancedReport()") をサービス レイヤーで混在させることはできますか?
db-queries をサービス層に配置しても問題ありませんか? そうでない場合、彼らはどこに行くべきですか?データ マッパーは、カスタム データを取得するのではなく、エンティティをデータベースにマップするだけであるため、気分が悪くなります。
たぶん「コーディング官僚主義」かもしれませんが、これを正しく行う必要があります。
ドメイン モデルの単純な CRUD の例以外は、ネット上で何も見つかりません。