function hook_field_storage_delete

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 modules/field/modules/field_sql_storage/field_sql_storage.module
Implements hook_field_storage_delete().
field_test_field_storage_delete in modules/field/tests/field_test.storage.inc
Implements hook_field_storage_delete().
1 invocation of hook_field_storage_delete()
field_attach_delete in modules/field/field.attach.inc
Delete field data for an existing entity. This deletes all revisions of field data for the entity.

File

modules/field/field.api.php, line 1946

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);
        }
    }
}

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