From: Vincent Vanwaelscappel Date: Wed, 25 Nov 2020 20:28:19 +0000 (+0100) Subject: wip #3753 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=afcc7125234d06960263ea7cd5ccb3bfcdca85d6;p=cubist_cms-back.git wip #3753 @0.5 --- diff --git a/src/app/Magic/Controllers/CubistMagicController.php b/src/app/Magic/Controllers/CubistMagicController.php index 29e3a21..ffc71d9 100644 --- a/src/app/Magic/Controllers/CubistMagicController.php +++ b/src/app/Magic/Controllers/CubistMagicController.php @@ -227,14 +227,11 @@ class CubistMagicController extends CubistCrudController protected function _forgetCache() { - $tags = [Menu::CACHE_TAG]; - $model_instance = $this->getModelInstance(); - $classes = array_merge([get_class($model_instance)], class_parents($model_instance)); - foreach ($classes as $class) { - $tags[] = 'model_' . $class; - } + try { + $this->getModelInstance()->flushCache([Menu::CACHE_TAG]); + }catch (\Exception $e){ - Cache::tags($tags)->flush(); + } } public function index() diff --git a/src/app/Magic/Models/CubistMagicAbstractModel.php b/src/app/Magic/Models/CubistMagicAbstractModel.php index 047f8f7..73c9137 100644 --- a/src/app/Magic/Models/CubistMagicAbstractModel.php +++ b/src/app/Magic/Models/CubistMagicAbstractModel.php @@ -19,6 +19,7 @@ use GeneaLabs\LaravelModelCaching\Traits\Cachable; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -610,4 +611,19 @@ class CubistMagicAbstractModel extends Model implements HasMedia { return new QueryBuilder($query); } + + protected function finishSave(array $options) + { + parent::finishSave($options); + $this->flushCache(); + } + + public function flushCache($tags = []) + { + $classes = array_merge([get_class($this)], class_parents($this)); + foreach ($classes as $class) { + $tags[] = 'model_' . $class; + } + Cache::tags($tags)->flush(); + } }