2010-10-21 59 views
0

我试图通过使用Doctrine DQL挂钩向mysql AES_ENCRYPT(和AES_DECRYPT)添加调用来加密某些数据库字段。Doctrine - 使用dql监听器加密

为SQL SELECT的我有我的Doctrine_Record_Listener类,经过在选择字段每个参数​​,以及加密领域增添了AES_DECRYPT()

但是,它看起来像在一个模型类中调用save()只调用preSave()侦听器,并且不会调用任何preDql *侦听器。

任何人都可以提出一种方法来获得这个工作或更好的方式做到这一点?

感谢

回答

0

为了使这些DQL回调进行检查,你必须明确地打开它们。因为这会增加开销对于每个查询少量,它默认是关闭的

$manager->setAttribute(Doctrine_Core::ATTR_USE_DQL_CALLBACKS, true); 

Doctrine 1.2 Event listeners