diff --git a/src/Traits/BuilderCaching.php b/src/Traits/BuilderCaching.php index a69497c..7ef35c1 100644 --- a/src/Traits/BuilderCaching.php +++ b/src/Traits/BuilderCaching.php @@ -12,4 +12,13 @@ public function all($columns = ['*']) : Collection return $this->model->get($columns); } + + public function truncate() + { + if ($this->isCachable()) { + $this->model->flushCache(); + } + + return parent::truncate(); + } } diff --git a/tests/Integration/Traits/BuilderCachingTest.php b/tests/Integration/Traits/BuilderCachingTest.php index d3aee52..7aa4a05 100644 --- a/tests/Integration/Traits/BuilderCachingTest.php +++ b/tests/Integration/Traits/BuilderCachingTest.php @@ -24,4 +24,12 @@ public function testDisablingAllQuery() $this->assertInstanceOf(Collection::class, $allAuthors); $this->assertNull($cachedAuthors); } + + public function testUsingTruncateInvalidatesCache() + { + (new Author)->get(); + Author::truncate(); + + $this->assertTrue((new Author)->get()->isEmpty()); + } }