修改Zend\Db中的所有查询(添加where)

Modify all queries in Zend\Db (add where)

我需要修改通过 Zend\Db 执行的所有查询,然后再将它们发送到数据库。

基本上它需要向所有选择、更新和删除以及插入中的附加列和值添加额外的 WHERE 语句。

我正在考虑为此编写自己的 TableGateway 功能,问题是我想避免仅限于 TableGateway 并在使用 Zend\Db\Adapter 时拥有此功能和 TableGateway 同时。

如果在您的上下文中有意义,您可以查看从 table 网关发送的一些事件:http://framework.zend.com/apidoc/2.4/namespaces/Zend.Db.TableGateway.Feature.EventFeature.html

有一个 preSelect 事件被触发,您可能可以收听它。

我最终编写了处理所有逻辑的自定义数据库适配器。如果我有时间清理代码,我可能会将其作为开源共享。