insolita/yii2-arsync This behavior for automatic or manual sync data between two models, without declaration relation. This behavior must be attached on master model. Main purposes - for sync rarely modified data from more reliable database storage to redis storage for frequently access; Support actual data state in some development cases;

extensionredisactiverecordsyncsynchronization

ActiveRecord Synchronization Behavior

This behavior for automatic or manual sync data between two models, without declaration relation. This behavior must be attached on master model. Main purposes - for sync rarely modified data from more reliable database storage to redis storage for frequently access; Support actual data state in some development cases;

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist insolita/yii2-arsync "*"

or add

"insolita/yii2-arsync": "*"

to the require section of your composer.json file.

Usage

Once the extension is installed, simply use it in your code by : See more in code


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;
                        },
                    ],
                ]
    ];
}

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



0.0.1 is the latest of one release



MIT license
Stats
1 github stars & 0 github forks
0 downloads in the last day
0 downloads in the last 30 days
30 total downloads