You are here

public function SqlContentEntityStorage::delete in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::delete()
  2. 10 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::delete()

Deletes permanently saved entities.

Parameters

array $entities: An array of entity objects to delete.

Throws

\Drupal\Core\Entity\EntityStorageException In case of failures, an exception is thrown.

Overrides EntityStorageBase::delete

File

core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php, line 742

Class

SqlContentEntityStorage
A content entity database storage implementation.

Namespace

Drupal\Core\Entity\Sql

Code

public function delete(array $entities) {
  if (!$entities) {

    // If no IDs or invalid IDs were passed, do nothing.
    return;
  }
  $transaction = $this->database
    ->startTransaction();
  try {
    parent::delete($entities);

    // Ignore replica server temporarily.
    \Drupal::service('database.replica_kill_switch')
      ->trigger();
  } catch (\Exception $e) {
    $transaction
      ->rollBack();
    watchdog_exception($this->entityTypeId, $e);
    throw new EntityStorageException($e
      ->getMessage(), $e
      ->getCode(), $e);
  }
}