Я только начал использовать Zend Framework и Doctrine в качестве своего ORM, и у меня есть некоторые сомнения относительно модели. Очевидно, что целью ORM является просто сопоставление модели моего домена с моделью базы данных, но мне любопытно, как вы могли бы моделировать различные отчеты, необходимые для веб-приложения?MVC + ORM, генерация отчетов
С моей точки зрения, и исправьте меня, если я ошибаюсь, я должен избегать писать какие-либо запросы в контроллере (запросы запросов запросов Doctrine в этом случае). Итак, если мне нужен какой-то произвольный отчет (например, доход на один отдел, разделенный на месяц), должен ли я иметь специальную «службу» в этой домене? Эта служба будет извлекать мой отчет из базы данных, используя запросы ORM.
Если бы вы могли пролить свет на эту тему, я был бы благодарен.
Спасибо. Но как сделать модель? Должен ли я иметь услугу, например? ReportGenerator, с методом getRevenueByDepartment()? Какова наилучшая практика в этом отношении? – Dario
Я не знаю вашу структуру приложения. Наличие модели для «отчетов» является слишком широкой интерпретацией проблемы. В области, в которой я работаю, каждый отчет слишком уникален, чтобы инкапсулировать его в некоторую модель, поэтому я просто использую их как разные объекты. Для меня нет оснований, что у них должно быть что-то общее или на самом деле «модель». Кроме того, отчеты представляют собой своего рода «только для чтения» модели. Они модели для вас вообще? –