diff --git a/src/StorageDrivers/RedisStorageDriver.php b/src/StorageDrivers/RedisStorageDriver.php index bb24550c..699950e6 100644 --- a/src/StorageDrivers/RedisStorageDriver.php +++ b/src/StorageDrivers/RedisStorageDriver.php @@ -71,9 +71,16 @@ class RedisStorageDriver implements StorageDriver return "tenants:{$hash}"; }, $uuids); - $hashes = $hashes ?: $this->redis->scan(null, 'tenants:*'); + // Apparently, the PREFIX is applied to all functions except scan() + $redis_prefix = $this->redis->getOption($this->redis->client()::OPT_PREFIX); + $hashes = $hashes ?: $this->redis->scan(null, $redis_prefix.'tenants:*'); + + return array_map(function ($tenant) use ($redis_prefix) { + // Left strip $redis_prefix from $tenant + if (substr($tenant, 0, strlen($redis_prefix)) == $redis_prefix) { + $tenant = substr($tenant, strlen($redis_prefix)); + } - return array_map(function ($tenant) { return $this->redis->hgetall($tenant); }, $hashes); } diff --git a/src/TenantManager.php b/src/TenantManager.php index 254eaa9d..1e105c1f 100644 --- a/src/TenantManager.php +++ b/src/TenantManager.php @@ -202,7 +202,7 @@ class TenantManager */ public function all($uuids = []) { - $uuid = (array) $uuids; + $uuids = (array) $uuids; return collect(array_map(function ($tenant_array) { return $this->jsonDecodeArrayValues($tenant_array);