From dd4f5c359cf34d79890d9b59b1c17b37ad8fbb5b Mon Sep 17 00:00:00 2001 From: John Koster Date: Sun, 3 Mar 2024 09:28:42 -0600 Subject: [PATCH 1/2] Cache a collection tree's structure on the instance --- src/Structures/CollectionTree.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Structures/CollectionTree.php b/src/Structures/CollectionTree.php index 328a93b4a24..0f754fa88f2 100644 --- a/src/Structures/CollectionTree.php +++ b/src/Structures/CollectionTree.php @@ -14,9 +14,15 @@ class CollectionTree extends Tree implements TreeContract { + protected $structureCache; + public function structure() { - return Blink::once('collection-tree-structure-'.$this->handle(), function () { + if ($this->structureCache) { + return $this->structureCache; + } + + return $this->structureCache = Blink::once('collection-tree-structure-'.$this->handle(), function () { return Collection::findByHandle($this->handle())->structure(); }); } From 1bbf395500d183ade4774b27bb1aaef00bad8c7d Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Tue, 12 Mar 2024 12:11:30 -0400 Subject: [PATCH 2/2] visibility --- src/Structures/CollectionTree.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Structures/CollectionTree.php b/src/Structures/CollectionTree.php index 0f754fa88f2..776af56e37a 100644 --- a/src/Structures/CollectionTree.php +++ b/src/Structures/CollectionTree.php @@ -14,7 +14,7 @@ class CollectionTree extends Tree implements TreeContract { - protected $structureCache; + private $structureCache; public function structure() {