我不能找到一個辦法攔截與適當的數據填充時,記錄從數據庫加載事件和模型對象(通常CActiveRecord
後裔) - 這是相當於onAfterSave
。該documentation列出了以下事件:onAfterConstruct
,onAfterDelete
,onAfterFind
,onAfterSave
, onAfterValidate
,onBeforeDelete
,onBeforeFind
,onBeforeSave
,onBeforeValidate
,onUnsafeAttribute
。「後加載」 Yii的事件模型/ ActiveRecord的
唯一可能相關的是onAfterConstruct
,所以我在我的模型類中實現了事件處理函數,派生自CActiveRecord
,但它沒有被調用。
UPDATE:
除了接受的答案,我發現有一個受保護的方法instantiate
,其意在同樣的目的。它可以被覆蓋以訪問新實例的屬性。最重要的是,它是記錄的任何實例化後調用,不僅find
之後,所以它似乎更可靠。
謝謝,它的工作原理。我發現了另一種方法 - 「實例化」,所以我會更新我的問題。 – Stan