QueryBuilder和MVC

时间:2013-06-06 17:37:45

标签: model-view-controller symfony query-builder

我在Symfony2上进行编程并且我有一个疑问:如果我想尊重MVC模式,我应该在Controller的动作或实体内部的方法中使用QueryBuilder进行查询? 感谢。

2 个答案:

答案 0 :(得分:1)

我认为你应该在Repository类中进行查询:http://symfony.com/doc/current/book/doctrine.html#custom-repository-classes

  

在前面的部分中,您开始在控制器内构建和使用更复杂的查询。 为了隔离,测试和重用这些查询,最好为您的实体创建自定义存储库类,并在那里添加带有查询逻辑的方法。

答案 1 :(得分:1)

首先,请注意Symfony2并不完全尊重MVC模式。它提供控制器和模板(视图),但不提供模型。

控制器是'http land'和'application land' [1] 之间的一层。它不仅仅是一个层,它应该是最薄的层。另一方面,2'土地'应该很大。

这意味着控制器中现在应该有querybuilder,但这应该在用户的存储库中完成。在控制器中,您只需要调用该存储库的一个方法。

有关the documentation

中自定义存储库的更多信息