remember("Permission:{$user->id}:{$vault->id}", 5, fn () => self::internalGetPermission($user, $vault)); } private static function internalGetPermission(User $user, Vault $vault): ?int { $entry = $user->vaults() ->wherePivot('vault_id', $vault->id) ->first(); return $entry !== null ? $entry->pivot->permission : null; } }