You are here

protected function BlockContentUuidLookup::resolveCacheMiss in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/block_content/src/BlockContentUuidLookup.php \Drupal\block_content\BlockContentUuidLookup::resolveCacheMiss()

Resolves a cache miss.

When an offset is not found in the object, this is treated as a cache miss. This method allows classes using this implementation to look up the actual value and allow it to be cached.

Parameters

string $key: The offset that was requested.

Return value

mixed The value of the offset, or NULL if no value was found.

Overrides CacheCollector::resolveCacheMiss

File

core/modules/block_content/src/BlockContentUuidLookup.php, line 48

Class

BlockContentUuidLookup
A cache collector that caches IDs for block_content UUIDs.

Namespace

Drupal\block_content

Code

protected function resolveCacheMiss($key) {
  $ids = $this->entityTypeManager
    ->getStorage('block_content')
    ->getQuery()
    ->condition('uuid', $key)
    ->execute();

  // Only cache if there is a match, otherwise creating new entities would
  // require to invalidate the cache.
  $id = reset($ids);
  if ($id) {
    $this->storage[$key] = $id;
    $this
      ->persist($key);
  }
  return $id;
}