CActiveRecord
レコードが DB から読み込まれ、モデル オブジェクト (通常は子孫) に適切なデータが入力されたときに、イベントをインターセプトする方法が見つかりませんonAfterSave
。ドキュメントには次のイベントがリストされています: onAfterConstruct
、onAfterDelete
、onAfterFind
、onAfterSave
、
onAfterValidate
、onBeforeDelete
、onBeforeFind
、onBeforeSave
。onBeforeValidate
onUnsafeAttribute
関連する可能性があるのは だけなonAfterConstruct
ので、 から派生したモデル クラスにイベント ハンドラを実装しましたCActiveRecord
が、呼び出されません。
アップデート:
instantiate
受け入れられた回答に加えて、まったく同じ目的を意図した保護されたメソッドがあることがわかりました。新しいインスタンスの属性にアクセスするためにオーバーライドできます。後だけでなく、レコードのインスタンス化の後に呼び出されることが最も重要なfind
ので、より信頼性が高いようです。