function EntityFieldManager::getFieldMapByFieldType

Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/Entity/EntityFieldManager.php \Drupal\Core\Entity\EntityFieldManager::getFieldMapByFieldType()
  2. 10 core/lib/Drupal/Core/Entity/EntityFieldManager.php \Drupal\Core\Entity\EntityFieldManager::getFieldMapByFieldType()
  3. 11.x core/lib/Drupal/Core/Entity/EntityFieldManager.php \Drupal\Core\Entity\EntityFieldManager::getFieldMapByFieldType()

Overrides EntityFieldManagerInterface::getFieldMapByFieldType

File

core/lib/Drupal/Core/Entity/EntityFieldManager.php, line 559

Class

EntityFieldManager
Manages the discovery of entity fields.

Namespace

Drupal\Core\Entity

Code

public function getFieldMapByFieldType($field_type) {
    if (!isset($this->fieldMapByFieldType[$field_type])) {
        $filtered_map = [];
        $map = $this->getFieldMap();
        foreach ($map as $entity_type => $fields) {
            foreach ($fields as $field_name => $field_info) {
                if ($field_info['type'] == $field_type) {
                    $filtered_map[$entity_type][$field_name] = $field_info;
                }
            }
        }
        $this->fieldMapByFieldType[$field_type] = $filtered_map;
    }
    return $this->fieldMapByFieldType[$field_type];
}

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