哪里应该放置DQL查询?在服务类中,或在控制器中,还是在存储库类中?
找到一篇关于此的好文章,它回答了我的问题。我认为最好把它们放在服务类中。
How to integrate Doctrine 2 with your Zend Framework application
答案 0 :(得分:1)
这在很大程度上取决于您的DQL正在做什么:
如果您的查询只在一个实体类型上工作,我建议为此实体创建自己的存储库类。存储库类已经为您提供了find和findAll的方法,因此它很适合。
Doctrine为您提供orm:generate-repositories
作为CLI工具。拉尔夫·辛德勒采用这种方法,你可以看到in his example repository。
如果您的查询影响多种类型的实体,服务层应该是放置它的最佳位置。