-2

我在 Symfony2 上编程,但我有一个疑问:如果我想尊重 MVC 模式,我应该使用 QueryBuilder 对控制器的操作或实体内部的方法进行查询?谢谢。

4

2 回答 2

1

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

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

于 2013-06-06T17:44:54.907 回答
1

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

控制器是“http 领域”和“应用领域” [1]之间的一层。它不仅仅是一层,它应该是最薄的一层。另一方面,这两个“地”应该很大。

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

有关文档中自定义存储库的更多信息

于 2013-06-06T18:00:15.657 回答