insolita / yii2-arsync
此行为实现两个模型之间自动或手动同步数据,无需声明关系。此行为必须附加在主模型上。主要目的 - 将从更可靠的数据存储中同步很少修改的数据到经常访问的Redis存储;支持某些开发案例中的实际数据状态;
0.0.1
2016-05-12 16:02 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-09-11 16:17:52 UTC
README
此行为实现两个模型之间自动或手动同步数据,无需声明关系。此行为必须附加在主模型上。主要目的 - 将从更可靠的数据存储中同步很少修改的数据到经常访问的Redis存储;支持某些开发案例中的实际数据状态;
安装
安装此扩展的首选方式是通过 composer。
运行以下命令:
php composer.phar require --prefer-dist insolita/yii2-arsync "*"
或者将以下内容添加到您的 composer.json
文件的 require 部分中:
"insolita/yii2-arsync": "*"
使用方法
扩展安装完成后,只需在代码中使用即可:查看代码中的更多示例
public function behaviors(){ return [ 'ArSyncBehavior'=>[ 'class' => ArSyncBehavior::class, 'slaveModel' => \your\model\namespase\Slave::className(), 'slaveScenario'=>'sync', 'errorSaveCallback'=>function($slave){ Yii::error(VarDumper::export($slave->errors)); throw new InvalidConfigException('fail save '); }, 'errorDeleteCallback'=>function($slave){ Yii::error('fail delete '.$slave->getPrimaryKey()); }, 'fieldMap' => [ 'id'=>'id', 'title' => 'name', 'foo' => 'foo', 'bar' => 'bar', 'baz' => function($master) { return $master->baz * 2; }, ], ] ]; }