我正在使用 Symfony2 / Doctrine2 开发一个 ws,并且我正在尝试挂钩 Doctrine2 生命周期并在任何 SELECT 操作之前触发一个函数 - 但没有任何运气。基本上,当在请求中找到某些参数时,我想动态操作添加限制/偏移量的选择查询,但似乎Doctrine2 挂钩仅涉及插入、删除和更新操作。我错过了什么吗?
谢谢。
我正在使用 Symfony2 / Doctrine2 开发一个 ws,并且我正在尝试挂钩 Doctrine2 生命周期并在任何 SELECT 操作之前触发一个函数 - 但没有任何运气。基本上,当在请求中找到某些参数时,我想动态操作添加限制/偏移量的选择查询,但似乎Doctrine2 挂钩仅涉及插入、删除和更新操作。我错过了什么吗?
谢谢。
你必须使用学说过滤器
Doctrine 2.2 具有过滤系统,允许开发人员将 SQL 添加到查询的条件子句中,而不管生成 SQL 的位置(例如,从 DQL 查询,或通过加载关联实体)。
处理这个问题的一种方法是注册一个在选择之前调度的自定义事件。您已经引用了显示如何执行此操作示例的源。