diff --git a/core/modules/views/src/Plugin/views/query/Sql.php b/core/modules/views/src/Plugin/views/query/Sql.php index 2784411..ed0883c 100644 --- a/core/modules/views/src/Plugin/views/query/Sql.php +++ b/core/modules/views/src/Plugin/views/query/Sql.php @@ -1521,20 +1521,18 @@ public function loadEntities(&$results) { // Now load all revisions. foreach ($revision_ids_by_type as $entity_type => $revision_ids) { $entities = []; - $flat_ids = iterator_to_array(new \RecursiveIteratorIterator(new \RecursiveArrayIterator($revision_ids)), FALSE); - // Drupal core currently has no way to load multiple revisions. Sad. - if (isset($entity_information[$entity_type]['revision']) && $entity_information[$entity_type]['revision'] === TRUE) { - foreach ($flat_ids as $revision_id) { + foreach ($revision_ids as $index => $revision_id_by_relationship) { + foreach ($revision_id_by_relationship as $revision => $revision_id) { + // Drupal core currently has no way to load multiple revisions. Sad. $entity = entity_revision_load($entity_type, $revision_id); - if ($entity) { - $entities[$revision_id] = $entity; - } + $entities[$revision_id] = $entity; } } $results = $this->assignEntitiesToResult($revision_ids, $entities, $results); } + } protected function assignEntitiesToResult($ids, array $entities, array $results) {