diff --git a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php index 204351e..355f92b 100644 --- a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php @@ -347,8 +347,12 @@ public function delete(array $entities) { * * @return \Drupal\Core\Entity\EntityInterface[] * The specified entity revisions or empty array if none found. + * + * @internal + * https://www.drupal.org/node/1730874 This method is internal until we + * decide to add it to \Drupal\Core\Entity\EntityStorageInterface. */ - protected function loadMultipleRevisions(array $revision_ids) { + public function loadMultipleRevisions(array $revision_ids) { $revisions = []; foreach ($revision_ids as $revision_id) { $revisions[$revision_id] = $this->loadRevision($revision_id); diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php index a68ea0d..35145b2 100644 --- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php +++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php @@ -440,12 +440,12 @@ protected function getFromStorage(array $ids = NULL) { /** * {@inheritdoc} */ - protected function loadMultipleRevisions(array $revision_ids) { + public function loadMultipleRevisions(array $revision_ids) { $revisions = $this->doLoadMutlipleRevisions($revision_ids); if ($revisions) { // The hooks are invoked keyed by entity ID so we have to do one by one. - foreach ($revisions as &$revision) { + foreach ($revisions as $revision) { $data = [$revision->id() => $revision]; $this->invokeStorageLoadHook($data); $this->postLoad($data); @@ -458,9 +458,8 @@ protected function loadMultipleRevisions(array $revision_ids) { /** * Gets multiple entity revisions from the storage. * - * @param array|null $revision_ids - * If not empty, return entities that match these IDs. Return all entities - * when NULL. + * @param array $revision_ids + * Return entities that match these IDs. * * @return \Drupal\Core\Entity\ContentEntityInterface[] * Array of entity revisions from the storage. @@ -468,13 +467,11 @@ protected function loadMultipleRevisions(array $revision_ids) { protected function doLoadMutlipleRevisions(array $revision_ids) { $revisions = array(); - if (!empty($revision_ids)) { - // Sanitize IDs. Before feeding ID array into buildQuery, check whether - // it is empty as this would load all entities. - $revision_ids = $this->cleanIds($revision_ids, 'revision'); - } + // Sanitize IDs. Before feeding ID array into buildQuery, check whether + // it is empty as this would load all entities. + $revision_ids = $this->cleanIds($revision_ids, 'revision'); - if ($revision_ids === NULL || $revision_ids) { + if (!empty($revision_ids)) { // Build and execute the query. $query_result = $this->buildQuery(NULL, FALSE, $revision_ids)->execute(); $records = $query_result->fetchAllAssoc($this->revisionKey); @@ -708,7 +705,7 @@ protected function buildPropertyQuery(QueryInterface $entity_query, array $value * @param $revision_id * The ID of the revision to load, or FALSE if this query is asking for the * most current revision(s) and $revision_ids is not provided instead. - * @param $revision_ids + * @param array $revision_ids * Revision IDs to load. * * @return \Drupal\Core\Database\Query\Select