diff --git a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php index 1d02dd8..1ea8db0 100644 --- a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php @@ -314,18 +314,21 @@ protected function doPostSave(EntityInterface $entity, $update) { */ public function delete(array $entities) { if ($this->entityType->isRevisionable()) { - $query = $this->getQuery()->allRevisions(); - foreach ($entities as $key => $entity) { - $query->condition($this->entityType->getKey('id'), $entity->id(), 'OR'); - } - - foreach ($query->execute() as $revision_id => $id) { - try { - $this->deleteRevision($revision_id); - } - catch (EntityStorageDeleteDefaultRevisionException $e) { - // The default revision will be deleted as part of the entity delete. - continue; + $ids = array_map(function(ContentEntityInterface $entity) { + return $entity->id(); + }, $entities); + + if ($ids) { + $query = $this->getQuery()->allRevisions(); + $query->condition($this->entityType->getKey('id'), $ids, 'IN'); + foreach ($query->execute() as $revision_id => $id) { + try { + $this->deleteRevision($revision_id); + } + catch (EntityStorageDeleteDefaultRevisionException $e) { + // The default revision will be deleted as part of the entity delete. + continue; + } } } }