在Symfony / Doctrine DBAL中捕获预执行事件

时间:2015-07-23 20:50:31

标签: php postgresql symfony doctrine-orm doctrine

我正在寻找一种在从Doctrine / Symfony发送到Postgres之前插入和修改/包装查询的方法。我一直在环顾Symfony和Doctrine的标准事件(herehere是我发现的),但似乎没有任何通用的“执行前查询”事件。

这是一个失败的原因/甚至可能吗?

由于

1 个答案:

答案 0 :(得分:4)

在配置连接时,是否尝试使用包装类,这要归功于 wrapper_class 参数?

See here for more info about Doctrine DBAL's configuration

基本上,它允许您实现自定义 Connection 类。您可以做的是创建一个继承自原始 \ Doctrine \ DBAL \ Connection 的自定义 Connection 类,并覆盖 executeQuery()方法。在那里,您可以使用自己的事件管理实现来抛出事件或使用内置的 EventManager