You are here

public function ContentEntityStorageBase::deleteRevision in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 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

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 339
Contains \Drupal\Core\Entity\ContentEntityStorageBase.

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);
  }
}