diff --git a/src/Data/HasOrigin.php b/src/Data/HasOrigin.php index 186299cfad..6f74a37ff9 100644 --- a/src/Data/HasOrigin.php +++ b/src/Data/HasOrigin.php @@ -60,9 +60,17 @@ public function origin($origin = null) { return $this->fluentlyGetOrSet('origin') ->getter(function ($origin) { - return $origin - ? Blink::once($this->getOriginBlinkKey(), fn () => $this->getOriginByString($origin)) - : null; + if (! $origin) { + return null; + } + + if ($found = Blink::get($this->getOriginBlinkKey())) { + return $found; + } + + return tap($this->getOriginByString($origin), function ($found) { + Blink::put($this->getOriginBlinkKey(), $found); + }); }) ->setter(function ($origin) { Blink::forget($this->getOriginBlinkKey());