Где поставить DQL? - PullRequest
       27

Где поставить DQL?

1 голос
/ 15 февраля 2011

Ссылка на этот вопрос

Куда нужно ставить DQL-запросы? В классе обслуживания, или в контроллере, или, возможно, в классе репозитория?

Нашел хорошую статью об этом, которая отвечает на мой вопрос. Я думаю, что лучше всего поместить их в класс обслуживания.

Как интегрировать Doctrine 2 с приложением Zend Framework

1 Ответ

1 голос
/ 15 февраля 2011

Это сильно зависит от того, что делают ваши DQL:

Если у вас есть Запрос, который выполняет работу только с одним типом сущности , я предлагаю создать собственный класс репозитория для этой сущности. Класс репозитория уже предоставляет вам методы для find и findAll, так что он хорошо бы там подходил. Доктрина дает вам orm:generate-repositories как инструмент CLI. Ральф Шиндлер использовал этот подход, как вы можете видеть в своем репозитории .

Если у вас есть Запрос, который влияет на несколько типов объектов , то Сервисный уровень должен быть лучшим местом для его размещения.

...