field_purge_field_storage(FieldStorageConfigInterface $field_storage)
Purges a field record from the database.
This function assumes all fields for the field storage has already been purged, and should only be called by field_purge_batch().
\Drupal\field\FieldStorageConfigInterface $field_storage: The field storage to purge.
Drupal\field\FieldException
function field_purge_field_storage(FieldStorageConfigInterface $field_storage) { $fields = entity_load_multiple_by_properties('field_config', array('field_storage_uuid' => $field_storage->uuid(), 'include_deleted' => TRUE)); if (count($fields) > 0) { throw new FieldException(t('Attempt to purge a field storage @field_name that still has fields.', array('@field_name' => $field_storage->getName()))); } $state = \Drupal::state(); $deleted_storages = $state->get('field.storage.deleted'); unset($deleted_storages[$field_storage->uuid()]); $state->set('field.storage.deleted', $deleted_storages); // Notify the storage layer. \Drupal::entityManager()->getStorage($field_storage->getTargetEntityTypeId())->finalizePurge($field_storage); // Invoke external hooks after the cache is cleared for API consistency. \Drupal::moduleHandler()->invokeAll('field_purge_field_storage', array($field_storage)); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!field!field.purge.inc/function/field_purge_field_storage/8.1.x