function EntityStorageBase::delete

Same name in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityStorageBase.php \Drupal\Core\Entity\EntityStorageBase::delete()
  2. 10 core/lib/Drupal/Core/Entity/EntityStorageBase.php \Drupal\Core\Entity\EntityStorageBase::delete()
  3. 11.x core/lib/Drupal/Core/Entity/EntityStorageBase.php \Drupal\Core\Entity\EntityStorageBase::delete()

Overrides EntityStorageInterface::delete

1 call to EntityStorageBase::delete()
SqlContentEntityStorage::delete in core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
Deletes permanently saved entities.
2 methods override EntityStorageBase::delete()
ContentEntityNullStorage::delete in core/lib/Drupal/Core/Entity/ContentEntityNullStorage.php
Deletes permanently saved entities.
SqlContentEntityStorage::delete in core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
Deletes permanently saved entities.

File

core/lib/Drupal/Core/Entity/EntityStorageBase.php, line 408

Class

EntityStorageBase
A base entity storage class.

Namespace

Drupal\Core\Entity

Code

public function delete(array $entities) {
    if (!$entities) {
        // If no entities were passed, do nothing.
        return;
    }
    // Ensure that the entities are keyed by ID.
    $keyed_entities = [];
    foreach ($entities as $entity) {
        $keyed_entities[$entity->id()] = $entity;
    }
    // Allow code to run before deleting.
    $entity_class = $this->entityClass;
    $entity_class::preDelete($this, $keyed_entities);
    foreach ($keyed_entities as $entity) {
        $this->invokeHook('predelete', $entity);
    }
    // Perform the delete and reset the static cache for the deleted entities.
    $this->doDelete($keyed_entities);
    $this->resetCache(array_keys($keyed_entities));
    // Allow code to run after deleting.
    $entity_class::postDelete($this, $keyed_entities);
    foreach ($keyed_entities as $entity) {
        $this->invokeHook('delete', $entity);
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.