function field_has_data

Determines whether a field has any data.

Parameters

$field: A field structure.

Return value

TRUE if the field has data for any entity; FALSE otherwise.

Related topics

4 calls to field_has_data()
field_ui_field_edit_form in drupal/core/modules/field_ui/field_ui.admin.inc
Form constructor for the field instance settings form.
field_ui_field_settings_form in drupal/core/modules/field_ui/field_ui.admin.inc
Form constructor for the field settings edit page.
field_update_field in drupal/core/modules/field/field.crud.inc
Updates a field.
translation_entity_form_field_ui_field_edit_form_alter in drupal/core/modules/translation_entity/translation_entity.module
Implements hook_form_FORM_ID_alter().

File

drupal/core/modules/field/field.module, line 1017
Attach custom data fields to Drupal entities.

Code

function field_has_data($field) {
  $field = field_info_field_by_id($field['id']);
  $columns = array_keys($field['columns']);
  $factory = drupal_container()
    ->get('entity.query');
  foreach ($field['bundles'] as $entity_type => $bundle) {
    $query = $factory
      ->get($entity_type);
    $group = $query
      ->orConditionGroup();
    foreach ($columns as $column) {
      $group
        ->exists($field['field_name'] . '.' . $column);
    }
    $result = $query
      ->condition($group)
      ->count()
      ->accessCheck(FALSE)
      ->range(0, 1)
      ->execute();
    if ($result) {
      return TRUE;
    }
  }
  return FALSE;
}