protected function SqlContentEntityStorage::deleteRevisionFromDedicatedTables in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::deleteRevisionFromDedicatedTables()
Deletes values of fields in dedicated tables for all revisions.
Parameters
\Drupal\Core\Entity\ContentEntityInterface $entity: The entity. It must have a revision ID.
1 call to SqlContentEntityStorage::deleteRevisionFromDedicatedTables()
- SqlContentEntityStorage::doDeleteRevisionFieldItems in core/
lib/ Drupal/ Core/ Entity/ Sql/ SqlContentEntityStorage.php - Deletes field values of an entity revision from the storage.
File
- core/
lib/ Drupal/ Core/ Entity/ Sql/ SqlContentEntityStorage.php, line 1306 - Contains \Drupal\Core\Entity\Sql\SqlContentEntityStorage.
Class
- SqlContentEntityStorage
- A content entity database storage implementation.
Namespace
Drupal\Core\Entity\SqlCode
protected function deleteRevisionFromDedicatedTables(ContentEntityInterface $entity) {
$vid = $entity
->getRevisionId();
if (isset($vid)) {
$table_mapping = $this
->getTableMapping();
foreach ($this->entityManager
->getFieldDefinitions($entity
->getEntityTypeId(), $entity
->bundle()) as $field_definition) {
$storage_definition = $field_definition
->getFieldStorageDefinition();
if (!$table_mapping
->requiresDedicatedTableStorage($storage_definition)) {
continue;
}
$revision_name = $table_mapping
->getDedicatedRevisionTableName($storage_definition);
$this->database
->delete($revision_name)
->condition('entity_id', $entity
->id())
->condition('revision_id', $vid)
->execute();
}
}
}