diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php index 7e53974d7f..da1a43bc16 100644 --- a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php +++ b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php @@ -391,14 +391,17 @@ public function resetCache(array $entities = NULL) { // When we have a way to invalidate only those cache items that have both // the individual entity's cache tag and the view builder's cache tag, we'll // be able to optimize this further. - $tags = []; if (isset($entities)) { + $tags = []; foreach ($entities as $entity) { $tags = Cache::mergeTags($tags, $entity->getCacheTags()); + $tags = Cache::mergeTags($tags, $entity->getEntityType()->getListCacheTags()); } + Cache::invalidateTags($tags); + } + else { + Cache::invalidateTags($this->getCacheTags()); } - $tags = Cache::mergeTags($tags, $this->entityType->getListCacheTags()); - Cache::invalidateTags($tags); } /**