From d60f36f86fdb404c45c59f651e1f9bb8b4dfb951 Mon Sep 17 00:00:00 2001 From: flashwave Date: Fri, 5 Jun 2020 12:43:04 +0000 Subject: [PATCH] Actually hook up the memoizer for UserRole. --- src/Users/UserRole.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/Users/UserRole.php b/src/Users/UserRole.php index 401e7507..42a6307d 100644 --- a/src/Users/UserRole.php +++ b/src/Users/UserRole.php @@ -179,13 +179,15 @@ class UserRole implements ArrayAccess, HasRankInterface { return sprintf(self::QUERY_SELECT, sprintf(self::SELECT, self::TABLE)); } public static function byId(int $roleId): self { - $object = DB::prepare( - self::byQueryBase() . ' WHERE `role_id` = :role' - ) ->bind('role', $roleId) - ->fetchObject(self::class); - if(!$object) - throw new UserRoleNotFoundException; - return $object; + return self::memoizer()->find($roleId, function() use ($roleId) { + $object = DB::prepare( + self::byQueryBase() . ' WHERE `role_id` = :role' + ) ->bind('role', $roleId) + ->fetchObject(self::class); + if(!$object) + throw new UserRoleNotFoundException; + return $object; + }); } public static function byDefault(): self { return self::byId(self::DEFAULT);