olegf13/ yii2-mongorevision-behavior
为 Yii 2 的 MongoRevision 行为
0.2.0
2016-07-08 09:46 UTC
Requires
- yiisoft/yii2: *
- yiisoft/yii2-mongodb: ~2.1
This package is not auto-updated.
Last update: 2024-09-14 18:52:57 UTC
README
此行为为任何 ActiveRecord 对象自动创建 MongoDB 集合中的修订版本。
这意味着,扩展将在 ActiveRecord 对象更新后自动保存其“上一个版本”。
因此,您可以存储和跟踪所有数据更改的历史记录。
详细来说,MongoRevision 行为将收集“旧”AR 对象属性,将相应的值填充到 revisionOwnerId
、revisionOwnerModel
、revisionDate
和 revisionUser
属性中;然后将生成的 AR 对象修订版存储在特定的 MongoDB revision
集合中。
行为在关联的 AR 对象更新后调用(EVENT_AFTER_UPDATE)。
安装
此扩展需要 Yii 2 的 MongoDB 扩展。
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist olegf13/yii2-mongorevision-behavior "*"
或者
"olegf13/yii2-mongorevision-behavior": "*"
将以下内容添加到您的 composer.json
文件的 require 部分。
使用方法
要使用 MongoRevisionBehavior,将以下代码插入到您的 ActiveRecord 类中
use olegf13\mongorevision\MongoRevisionBehavior; // ... public function behaviors() { return [ MongoRevisionBehavior::className(), ]; }
如果您的 MongoDB 连接名称不同或您想使用不同的集合或属性名称,您可以像以下那样配置行为属性
use olegf13\mongorevision\MongoRevisionBehavior; // ... public function behaviors() { return [ [ 'class' => MongoRevisionBehavior::className(), 'mongoConnectionName' => 'mongodb', 'mongoCollection' => 'revision', 'revisionOwnerIdAttribute' => 'ownerId', 'revisionOwnerModelAttribute' => 'ownerModel', 'revisionDateAttribute' => 'revisionDate', 'revisionUserAttribute' => 'revisionUser', ], ]; }