field_read_instances

Versions
7
field_read_instances($params = array(), $include_additional = array())

Reads in field instances that match an array of conditions.

Parameters

$param An array of properties to use in selecting a field instance. Valid keys include any column of the field_config_instance table. If NULL, all instances will be returned.

$include_additional The default behavior of this function is to not return field instances that have been marked deleted, or whose field is inactive. Setting $include_additional['include_inactive'] or $include_additional['include_deleted'] to TRUE will override this behavior.

Return value

An array of instances matching the arguments.

Related topics

▾ 9 functions call field_read_instances()

field_attach_load in modules/field/field.attach.inc
Load all fields for the most current version of each of a set of objects of a single object type.
field_purge_batch in modules/field/field.crud.inc
Purges a batch of deleted Field API data, instances, or fields.
field_purge_field in modules/field/field.crud.inc
Purges a field record from the database.
field_read_instance in modules/field/field.crud.inc
Reads a single instance record directly from the database.
field_sql_storage_field_attach_rename_bundle in modules/field/modules/field_sql_storage/field_sql_storage.module
Implement hook_field_attach_rename_bundle().
field_test_field_attach_rename_bundle in modules/field/tests/field_test.storage.inc
Implements hook_field_attach_rename_bundle().
field_ui_inactive_instances in modules/field_ui/field_ui.module
Helper function to identify inactive fields within a bundle.
_field_info_collate_fields in modules/field/field.info.inc
Collate all information on existing fields and instances.
_field_invoke in modules/field/field.attach.inc
Invoke a field hook.

Code

modules/field/field.crud.inc, line 813

<?php
function field_read_instances($params = array(), $include_additional = array()) {
  $query = db_select('field_config_instance', 'fci', array('fetch' => PDO::FETCH_ASSOC));
  $query->join('field_config', 'fc', 'fc.id = fci.field_id');
  $query->fields('fci');

  // Turn the conditions into a query.
  foreach ($params as $key => $value) {
    $query->condition('fci.' . $key, $value);
  }
  if (!isset($include_additional['include_inactive']) || !$include_additional['include_inactive']) {
    $query
      ->condition('fc.active', 1)
      ->condition('fc.storage_active', 1);
  }
  if (!isset($include_additional['include_deleted']) || !$include_additional['include_deleted']) {
    $query->condition('fc.deleted', 0);
    $query->condition('fci.deleted', 0);
  }

  $instances = array();
  $results = $query->execute();

  foreach ($results as $record) {
    $instance = unserialize($record['data']);
    $instance['id'] = $record['id'];
    $instance['field_id'] = $record['field_id'];
    $instance['field_name'] = $record['field_name'];
    $instance['object_type'] = $record['object_type'];
    $instance['bundle'] = $record['bundle'];
    $instance['deleted'] = $record['deleted'];

    module_invoke_all('field_read_instance', $instance);
    $instances[] = $instance;
  }
  return $instances;
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.