function hook_field_storage_delete in Drupal 7
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 - 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);
}
}
}