function field_entity_field_storage_info

Same name in other branches
  1. 8.9.x core/modules/field/field.module \field_entity_field_storage_info()
  2. 10 core/modules/field/field.module \field_entity_field_storage_info()
  3. 11.x core/modules/field/field.module \field_entity_field_storage_info()

Implements hook_entity_field_storage_info().

Related topics

File

core/modules/field/field.module, line 175

Code

function field_entity_field_storage_info(EntityTypeInterface $entity_type) {
    if (\Drupal::entityTypeManager()->getStorage($entity_type->id()) instanceof DynamicallyFieldableEntityStorageInterface) {
        // Query by filtering on the ID as this is more efficient than filtering
        // on the entity_type property directly.
        $ids = \Drupal::entityQuery('field_storage_config')->condition('id', $entity_type->id() . '.', 'STARTS_WITH')
            ->execute();
        // Fetch all fields and key them by field name.
        $field_storages = FieldStorageConfig::loadMultiple($ids);
        $result = [];
        foreach ($field_storages as $field_storage) {
            $result[$field_storage->getName()] = $field_storage;
        }
        return $result;
    }
}

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