Yii AR 单行数据-自动LOG机制 CActiveRecordBehavior进阶

很多时候,做程序都需要有操作历史记录,特别是权限划分比较细的系统。
经常需要查看操作记录,某某人进行了什么操作,什么数据做了改动。
甚至有时候,需要对某条数据对版本回溯

如果,针对每种都做程序,无疑是很浪费时间的。
我们可以利用Yii中AR的CActiveRecordBehavior 事件行为,对每次数据操作后,做一次LOG数据记录。

YiicmsActiveRecord 继承 CActiveRecord

YiicmsActiveRecordBehavior 继承 CActiveRecordBehavior

Product 继承 YiicmsActiveRecord
有一点要注意的就是,每个继承YiicmsActiveRecord的类,在本身有一些行为

beforeSave 和 afterSave: 这两个将在保存 AR 实例之前和之后被调用。
beforeDelete 和 afterDelete: 这两个将在一个 AR 实例被删除之前和之后被调用。

需要先调用parent::beforeSave()

Log的model

SQL

发表评论

电子邮件地址不会被公开。 必填项已用*标注