D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
3023066
/
cwd
/
www
/
vendor
/
stancl
/
tenancy
/
src
/
Database
/
Concerns
/
Filename :
ResourceSyncing.php
back
Copy
<?php declare(strict_types=1); namespace Stancl\Tenancy\Database\Concerns; use Stancl\Tenancy\Contracts\Syncable; use Stancl\Tenancy\Contracts\UniqueIdentifierGenerator; use Stancl\Tenancy\Events\SyncedResourceSaved; trait ResourceSyncing { public static function bootResourceSyncing() { static::saved(function (Syncable $model) { /** @var ResourceSyncing $model */ $model->triggerSyncEvent(); }); static::creating(function (self $model) { if (! $model->getAttribute($model->getGlobalIdentifierKeyName()) && app()->bound(UniqueIdentifierGenerator::class)) { $model->setAttribute( $model->getGlobalIdentifierKeyName(), app(UniqueIdentifierGenerator::class)->generate($model) ); } }); } public function triggerSyncEvent() { /** @var Syncable $this */ event(new SyncedResourceSaved($this, tenant())); } }