在哪里放DQL?

时间:2011-02-15 14:20:28

标签: zend-framework domain-driven-design doctrine-orm

Reference To This Question

哪里应该放置DQL查询?在服务类中,或在控制器中,还是在存储库类中?

找到一篇关于此的好文章,它回答了我的问题。我认为最好把它们放在服务类中。

How to integrate Doctrine 2 with your Zend Framework application

1 个答案:

答案 0 :(得分:1)

这在很大程度上取决于您的DQL正在做什么:

如果您的查询只在一个实体类型上工作,我建议为此实体创建自己的存储库类。存储库类已经为您提供了find和findAll的方法,因此它很适合。 Doctrine为您提供orm:generate-repositories作为CLI工具。拉尔夫·辛德勒采用这种方法,你可以看到in his example repository

如果您的查询影响多种类型的实体服务层应该是放置它的最佳位置。