function SqlContentEntityStorage::deleteFromDedicatedTables

Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::deleteFromDedicatedTables()
  2. 10 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::deleteFromDedicatedTables()
  3. 11.x core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::deleteFromDedicatedTables()

Deletes values of fields in dedicated tables for all revisions.

Parameters

\Drupal\Core\Entity\ContentEntityInterface $entity: The entity.

1 call to SqlContentEntityStorage::deleteFromDedicatedTables()
SqlContentEntityStorage::doDeleteFieldItems in core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
Deletes entity field values from the storage.

File

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

Class

SqlContentEntityStorage
A content entity database storage implementation.

Namespace

Drupal\Core\Entity\Sql

Code

protected function deleteFromDedicatedTables(ContentEntityInterface $entity) {
    $table_mapping = $this->getTableMapping();
    foreach ($this->fieldStorageDefinitions as $storage_definition) {
        if (!$table_mapping->requiresDedicatedTableStorage($storage_definition)) {
            continue;
        }
        $table_name = $table_mapping->getDedicatedDataTableName($storage_definition);
        $revision_name = $table_mapping->getDedicatedRevisionTableName($storage_definition);
        $this->database
            ->delete($table_name)
            ->condition('entity_id', $entity->id())
            ->execute();
        if ($this->entityType
            ->isRevisionable()) {
            $this->database
                ->delete($revision_name)
                ->condition('entity_id', $entity->id())
                ->execute();
        }
    }
}

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