【发布时间】:2012-08-16 09:56:37
【问题描述】:
我有大约 30 个实体,并且都在查询数据库。
现在我希望我应该只获取我拥有ACTIVE = 1 的那些记录。我所有的表都有那个字段。
一种方法是更改我正在使用的所有查询。
还有其他选择吗,我可以在执行之前获取查询,并像任何Listener or event 一样从单个函数添加where clause
【问题讨论】:
标签: php symfony doctrine-orm
我有大约 30 个实体,并且都在查询数据库。
现在我希望我应该只获取我拥有ACTIVE = 1 的那些记录。我所有的表都有那个字段。
一种方法是更改我正在使用的所有查询。
还有其他选择吗,我可以在执行之前获取查询,并像任何Listener or event 一样从单个函数添加where clause
【问题讨论】:
标签: php symfony doctrine-orm
确实如此。它被称为“过滤器”——您可以根据需要激活和停用它们。请参阅此处的手册:http://docs.doctrine-project.org/en/latest/reference/filters.html。
您可以在 Symfony2 中使用配置文件中的教义节点下的“过滤器”节点来配置它们。每个过滤器都应该有两个子节点:“class”和“enabled”(当然,enabled 应该是 true,class 应该是指向过滤器的 FQCN)。
【讨论】: