Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php \Drupal\Core\Entity\ContentEntityStorageBase::deleteRevision()
  2. 9 core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php \Drupal\Core\Entity\ContentEntityStorageBase::deleteRevision()

Delete a specific entity revision.

A revision can only be deleted if it's not the currently active one.

Parameters

int $revision_id: The revision id.

Overrides EntityStorageInterface::deleteRevision

Deprecated

in drupal:10.1.0 and is removed from drupal:11.0.0. Use \Drupal\Core\Entity\RevisionableStorageInterface::deleteRevision instead.

See also

https://www.drupal.org/node/2926958

https://www.drupal.org/node/2927226

https://www.drupal.org/node/3294237

1 method overrides ContentEntityStorageBase::deleteRevision()
ContentEntityNullStorage::deleteRevision in core/lib/Drupal/Core/Entity/ContentEntityNullStorage.php
Delete a specific entity revision.

File

core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php, line 812

Class

ContentEntityStorageBase
Base class for content entity storage handlers.

Namespace

Drupal\Core\Entity

Code

public function deleteRevision($revision_id) {

  /** @var \Drupal\Core\Entity\ContentEntityInterface $revision */
  if ($revision = $this
    ->loadRevision($revision_id)) {

    // Prevent deletion if this is the default revision.
    if ($revision
      ->isDefaultRevision()) {
      throw new EntityStorageException('Default revision can not be deleted');
    }
    $this
      ->invokeFieldMethod('deleteRevision', $revision);
    $this
      ->doDeleteRevisionFieldItems($revision);
    $this
      ->invokeHook('revision_delete', $revision);
  }
}