有没有办法普遍影响symfony2中的所有学说查询

时间:2012-08-16 01:32:03

标签: php symfony doctrine-orm

我有大约30个实体,都在查询数据库。 现在我希望我只能获得ACTIVE = 1的记录。我的所有桌子都有这个字段。

一种方法是更改​​我正在使用的所有查询。

还有其他选择,我可以在执行之前抓取查询并从单个函数添加where clause,如任何Listener or event

1 个答案:

答案 0 :(得分:4)

事实上。它被称为“过滤器” - 您可以根据需要激活和停用它们。请参阅此处的手册:http://docs.doctrine-project.org/en/latest/reference/filters.html

您可以使用配置文件中的doctrine节点下的“filters”节点在Symfony2中配置它们。每个过滤器应该有两个子节点:“class”和“enabled”(当然应该启用;为true,类应该是指向过滤器的FQCN)。