function hook_field_storage_delete

7.x field.api.php hook_field_storage_delete($entity_type, $entity, $fields)

Delete all field data for an entity.

This hook is invoked from field_attach_delete() to ask the field storage module to delete field data.

Parameters

$entity_type: The entity type of entity, such as 'node' or 'user'.

$entity: The entity on which to operate.

$fields: An array listing the fields to delete. The keys and values of the array are field IDs.

Related topics

2 functions implement hook_field_storage_delete()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

field_sql_storage_field_storage_delete in drupal/modules/field/modules/field_sql_storage/field_sql_storage.module
Implements hook_field_storage_delete().
field_test_field_storage_delete in drupal/modules/field/tests/field_test.storage.inc
Implements hook_field_storage_delete().
1 invocation of hook_field_storage_delete()
field_attach_delete in drupal/modules/field/field.attach.inc
Delete field data for an existing entity. This deletes all revisions of field data for the entity.

File

drupal/modules/field/field.api.php, line 1946
Hooks provided by the Field module.

Code

function hook_field_storage_delete($entity_type, $entity, $fields) {
  list($id, $vid, $bundle) = entity_extract_ids($entity_type, $entity);

  foreach (field_info_instances($entity_type, $bundle) as $instance) {
    if (isset($fields[$instance['field_id']])) {
      $field = field_info_field_by_id($instance['field_id']);
      field_sql_storage_field_storage_purge($entity_type, $entity, $field, $instance);
    }
  }
}