From e5d93cd576ba8b8a1194dff66159c2da82701450 Mon Sep 17 00:00:00 2001 From: dmason30 Date: Thu, 9 Apr 2020 00:55:43 +0100 Subject: [PATCH] Add truncate support --- src/Traits/BuilderCaching.php | 9 +++++++++ tests/Integration/Traits/BuilderCachingTest.php | 8 ++++++++ 2 files changed, 17 insertions(+) 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()); + } }