File tree Expand file tree Collapse file tree 7 files changed +38
-14
lines changed Expand file tree Collapse file tree 7 files changed +38
-14
lines changed Original file line number Diff line number Diff line change 11<?php namespace GeneaLabs \LaravelModelCaching \Console \Commands ;
22
33use Illuminate \Console \Command ;
4- use GeneaLabs \LaravelModelCaching \CachedModel ;
54
65class Flush extends Command
76{
@@ -21,7 +20,7 @@ public function handle()
2120
2221 $ model = new $ option ;
2322
24- if (! $ model instanceof CachedModel ) {
23+ if (! method_exists ( $ model, ' flushCache ' ) ) {
2524 $ this ->error ("' {$ option }' is not an instance of CachedModel. " );
2625 $ this ->line ("Only CachedModel instances can be flushed. " );
2726
Original file line number Diff line number Diff line change @@ -41,6 +41,10 @@ public function disableCache()
4141
4242 public function flushCache (array $ tags = [])
4343 {
44+ if (emptyArray ($ tags )) {
45+ $ tags = $ this ->makeCacheTags ();
46+ }
47+
4448 $ this ->cache ($ tags )->flush ();
4549 }
4650
@@ -59,8 +63,10 @@ protected function makeCacheKey(
5963
6064 protected function makeCacheTags () : array
6165 {
62- return (new CacheTags ($ this ->eagerLoad , $ this ->model ))
66+ $ tags = (new CacheTags ($ this ->eagerLoad ?? [] , $ this ->model ?? $ this ))
6367 ->make ();
68+
69+ return $ tags ;
6470 }
6571
6672 public static function bootCachable ()
@@ -72,6 +78,10 @@ public static function bootCachable()
7278
7379 public static function all ($ columns = ['* ' ])
7480 {
81+ if (session ('genealabs-laravel-model-caching-is-disabled ' )) {
82+ return parent ::all ($ columns );
83+ }
84+
7585 $ class = get_called_class ();
7686 $ instance = new $ class ;
7787 $ tags = [str_slug (get_called_class ())];
Original file line number Diff line number Diff line change 11<?php namespace GeneaLabs \LaravelModelCaching \Tests \Fixtures ;
22
3- use GeneaLabs \LaravelModelCaching \CachedModel ;
3+ use GeneaLabs \LaravelModelCaching \Traits \ Cachable ;
44use Illuminate \Database \Eloquent \Builder ;
5+ use Illuminate \Database \Eloquent \Model ;
56use Illuminate \Database \Eloquent \Relations \HasMany ;
67use Illuminate \Database \Eloquent \Relations \HasOne ;
78
8- class Author extends CachedModel
9+ class Author extends Model
910{
11+ use Cachable;
12+
1013 protected $ fillable = [
1114 'name ' ,
1215 'email ' ,
Original file line number Diff line number Diff line change 11<?php namespace GeneaLabs \LaravelModelCaching \Tests \Fixtures ;
22
3- use GeneaLabs \LaravelModelCaching \CachedModel ;
3+ use GeneaLabs \LaravelModelCaching \Traits \Cachable ;
4+ use Illuminate \Database \Eloquent \Model ;
45use Illuminate \Database \Eloquent \Relations \BelongsTo ;
56use Illuminate \Database \Eloquent \Relations \BelongsToMany ;
67
7- class Book extends CachedModel
8+ class Book extends Model
89{
10+ use Cachable;
11+
912 protected $ casts = [
1013 'price ' => 'float ' ,
1114 ];
Original file line number Diff line number Diff line change 11<?php namespace GeneaLabs \LaravelModelCaching \Tests \Fixtures ;
22
3- use GeneaLabs \LaravelModelCaching \CachedModel ;
4- use Illuminate \Database \Eloquent \Relations \ HasMany ;
3+ use GeneaLabs \LaravelModelCaching \Traits \ Cachable ;
4+ use Illuminate \Database \Eloquent \Model ;
55use Illuminate \Database \Eloquent \Relations \BelongsTo ;
6+ use Illuminate \Database \Eloquent \Relations \HasMany ;
67
7- class Profile extends CachedModel
8+ class Profile extends Model
89{
10+ use Cachable;
11+
912 protected $ fillable = [
1013 'first_name ' ,
1114 'last_name ' ,
Original file line number Diff line number Diff line change 11<?php namespace GeneaLabs \LaravelModelCaching \Tests \Fixtures ;
22
3- use GeneaLabs \LaravelModelCaching \CachedModel ;
3+ use GeneaLabs \LaravelModelCaching \Traits \Cachable ;
4+ use Illuminate \Database \Eloquent \Model ;
45use Illuminate \Database \Eloquent \Relations \HasMany ;
56
6- class Publisher extends CachedModel
7+ class Publisher extends Model
78{
9+ use Cachable;
10+
811 protected $ fillable = [
912 'name ' ,
1013 ];
Original file line number Diff line number Diff line change 11<?php namespace GeneaLabs \LaravelModelCaching \Tests \Fixtures ;
22
3- use GeneaLabs \LaravelModelCaching \CachedModel ;
3+ use GeneaLabs \LaravelModelCaching \Traits \Cachable ;
4+ use Illuminate \Database \Eloquent \Model ;
45use Illuminate \Database \Eloquent \Relations \BelongsToMany ;
56
6- class Store extends CachedModel
7+ class Store extends Model
78{
9+ use Cachable;
10+
811 protected $ fillable = [
912 'address ' ,
1013 'name ' ,
You can’t perform that action at this time.
0 commit comments