field_purge_data

function field_purge_data

field_purge_data($entity_type, $entity, $field, $instance)

Purges the field data for a single field on a single pseudo-entity.

This is basically the same as field_attach_delete() except it only applies to a single field. The entity itself is not being deleted, and it is quite possible that other field data will remain attached to it.

Parameters

$entity_type: The type of $entity; e.g. 'node' or 'user'.

$entity: The pseudo-entity whose field data is being purged.

$field: The (possibly deleted) field whose data is being purged.

$instance: The deleted field instance whose data is being purged.

Related topics

File

modules/field/field.crud.inc, line 938
Field CRUD API, handling field and field instance creation and deletion.

Code

function field_purge_data($entity_type, $entity, $field, $instance) {
  // Each field type's hook_field_delete() only expects to operate on a single
  // field at a time, so we can use it as-is for purging.
  $options = array('field_id' => $instance['field_id'], 'deleted' => TRUE);
  _field_invoke('delete', $entity_type, $entity, $dummy, $dummy, $options);

  // Tell the field storage system to purge the data.
  module_invoke($field['storage']['module'], 'field_storage_purge', $entity_type, $entity, $field, $instance);

  // Let other modules act on purging the data.
  foreach (module_implements('field_attach_purge') as $module) {
    $function = $module . '_field_attach_purge';
    $function($entity_type, $entity, $field, $instance);
  }
}

© 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/modules!field!field.crud.inc/function/field_purge_data/7.x

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部