public function EntityFieldManager::getFieldMapByFieldType in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Entity/EntityFieldManager.php \Drupal\Core\Entity\EntityFieldManager::getFieldMapByFieldType()
Gets a lightweight map of fields across bundles filtered by field type.
Parameters
string $field_type: The field type to filter by.
Return value
array An array keyed by entity type. Each value is an array which keys are field names and value is an array with two entries:
- type: The field type.
- bundles: The bundles in which the field appears.
Overrides EntityFieldManagerInterface::getFieldMapByFieldType
File
- core/
lib/ Drupal/ Core/ Entity/ EntityFieldManager.php, line 483 - Contains \Drupal\Core\Entity\EntityFieldManager.
Class
- EntityFieldManager
- Manages the discovery of entity fields.
Namespace
Drupal\Core\EntityCode
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];
}