1
0
mirror of synced 2025-02-02 21:41:45 +03:00

Refactor to use class_map() instead

This commit is contained in:
Luís Cobucci 2017-01-16 23:22:52 +01:00
parent bb943afabe
commit 4f28aaa206
No known key found for this signature in database
GPG Key ID: 8042585A7DBC92E1

View File

@ -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) {