File tree Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -19,8 +19,10 @@ public function handle()
1919 }
2020
2121 $ model = new $ option ;
22+ $ usesCachableTrait = collect (class_uses ($ model ))
23+ ->contains ("GeneaLabs\LaravelModelCaching\Traits\Cachable " );
2224
23- if (! method_exists ( $ model , ' flushCache ' ) ) {
25+ if (! $ usesCachableTrait ) {
2426 $ this ->error ("' {$ option }' is not an instance of CachedModel. " );
2527 $ this ->line ("Only CachedModel instances can be flushed. " );
2628
Original file line number Diff line number Diff line change @@ -22,14 +22,25 @@ protected function cache(array $tags = [])
2222 }
2323
2424 if (is_subclass_of ($ cache ->getStore (), TaggableStore::class)) {
25- array_push ($ tags , str_slug (get_called_class ()));
26-
25+ $ tags = $ this ->addTagsWhenCalledFromCachedBuilder ($ tags );
2726 $ cache = $ cache ->tags ($ tags );
2827 }
2928
3029 return $ cache ;
3130 }
3231
32+ protected function addTagsWhenCalledFromCachedBuilder (array $ tags ) : array
33+ {
34+ $ usesCachableTrait = collect (class_uses ($ this ))
35+ ->contains ("GeneaLabs\LaravelModelCaching\Traits\Cachable " );
36+
37+ if (! $ usesCachableTrait ) {
38+ array_push ($ tags , str_slug (get_called_class ()));
39+ }
40+
41+ return $ tags ;
42+ }
43+
3344 public function disableCache ()
3445 {
3546 cache ()->forever (self ::$ isCachableKey , true );
You can’t perform that action at this time.
0 commit comments