2010-10-21 95 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