public static function EntityReferenceItem::calculateStorageDependencies in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php \Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem::calculateStorageDependencies()
Calculates dependencies for field items on the storage level.
Dependencies are saved in the field storage configuration entity and are used to determine configuration synchronization order. For example, if the field type storage depends on a particular entity type, this method should return an array of dependencies listing the module that provides the entity type.
Dependencies returned from this method are stored in field storage configuration and are always considered hard dependencies. If the dependency is removed the field storage configuration must be deleted.
Parameters
\Drupal\Core\Field\FieldStorageDefinitionInterface $field_storage_definition: The field storage definition.
Return value
array An array of dependencies grouped by type (config, content, module, theme). For example:
[
'config' => [
'user.role.anonymous',
'user.role.authenticated',
],
'content' => [
'node:article:f0a189e6-55fb-47fb-8005-5bef81c44d6d',
],
'module' => [
'node',
'user',
],
'theme' => [
'seven',
],
];
Overrides FieldItemBase::calculateStorageDependencies
See also
\Drupal\Core\Config\Entity\ConfigDependencyManager
\Drupal\Core\Config\Entity\ConfigEntityInterface::getConfigDependencyName()
File
- core/
lib/ Drupal/ Core/ Field/ Plugin/ Field/ FieldType/ EntityReferenceItem.php, line 506
Class
- EntityReferenceItem
- Defines the 'entity_reference' entity field type.
Namespace
Drupal\Core\Field\Plugin\Field\FieldTypeCode
public static function calculateStorageDependencies(FieldStorageDefinitionInterface $field_definition) {
$dependencies = parent::calculateStorageDependencies($field_definition);
$target_entity_type = \Drupal::entityTypeManager()
->getDefinition($field_definition
->getSetting('target_type'));
$dependencies['module'][] = $target_entity_type
->getProvider();
return $dependencies;
}