当从数据库加载记录并且模型对象(通常是后代)填充了适当的数据时,我找不到拦截事件的方法CActiveRecord- 这与onAfterSave. 文档列出了以下事件:onAfterConstruct, onAfterDelete, onAfterFind, onAfterSave,
onAfterValidate, onBeforeDelete, onBeforeFind, onBeforeSave, onBeforeValidate, onUnsafeAttribute.
唯一可能相关的是onAfterConstruct,所以我在派生自的模型类中实现了事件处理程序CActiveRecord,但它没有被调用。
更新:
除了接受的答案之外,我发现还有一个受保护的方法instantiate,它的目的是相同的。它可以被覆盖以访问新实例的属性。最重要的是在记录的任何实例化之后调用它,而不仅仅是在 之后find,因此它似乎更可靠。