From 4f28aaa206064563916ac56726d28893054527df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Cobucci?= Date: Mon, 16 Jan 2017 23:22:52 +0100 Subject: [PATCH] Refactor to use class_map() instead --- lib/Doctrine/ORM/Cache/DefaultQueryCache.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/Doctrine/ORM/Cache/DefaultQueryCache.php b/lib/Doctrine/ORM/Cache/DefaultQueryCache.php index 4c1fa831d..b7ac6f00c 100644 --- a/lib/Doctrine/ORM/Cache/DefaultQueryCache.php +++ b/lib/Doctrine/ORM/Cache/DefaultQueryCache.php @@ -113,11 +113,12 @@ class DefaultQueryCache implements QueryCache $cm = $this->em->getClassMetadata($entityName); - $entityCacheKeys = []; - foreach ($entry->result as $index => $concreteEntry) { - $entityCacheKeys[$index] = new EntityCacheKey($cm->rootEntityName, $concreteEntry['identifier']); - } - $entries = $region->getMultiple(new CollectionCacheEntry($entityCacheKeys)); + $generateKeys = function (array $entry) use ($cm): EntityCacheKey { + return new EntityCacheKey($cm->rootEntityName, $entry['identifier']); + }; + + $cacheKeys = new CollectionCacheEntry(array_map($generateKeys, $entry->result)); + $entries = $region->getMultiple($cacheKeys); // @TODO - move to cache hydration component foreach ($entry->result as $index => $entry) { @@ -127,14 +128,14 @@ class DefaultQueryCache implements QueryCache if ($entityEntry === null) { if ($this->cacheLogger !== null) { - $this->cacheLogger->entityCacheMiss($regionName, $entityCacheKeys[$index]); + $this->cacheLogger->entityCacheMiss($regionName, $cacheKeys->identifiers[$index]); } return null; } if ($this->cacheLogger !== null) { - $this->cacheLogger->entityCacheHit($regionName, $entityCacheKeys[$index]); + $this->cacheLogger->entityCacheHit($regionName, $cacheKeys->identifiers[$index]); } if ( ! $hasRelation) {