public EntityFieldManager::getFieldStorageDefinitions($entity_type_id)
Gets the field storage definitions for a content entity type.
This returns all field storage definitions for base fields and bundle fields of an entity type. Note that field storage definitions of a base field equal the full base field definition (i.e. they implement FieldDefinitionInterface), while the storage definitions for bundle fields may implement FieldStorageDefinitionInterface only.
Parameters
string $entity_type_id: The entity type ID. Only content entities are supported.
Return value
\Drupal\Core\Field\FieldStorageDefinitionInterface[] The array of field storage definitions for the entity type, keyed by field name.
Overrides EntityFieldManagerInterface::getFieldStorageDefinitions
See also
\Drupal\Core\Field\FieldStorageDefinitionInterface
File
- core/lib/Drupal/Core/Entity/EntityFieldManager.php, line 390
Class
- EntityFieldManager
- Manages the discovery of entity fields.
Namespace
Drupal\Core\Entity
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public function getFieldStorageDefinitions( $entity_type_id ) { if (!isset( $this ->fieldStorageDefinitions[ $entity_type_id ])) { $this ->fieldStorageDefinitions[ $entity_type_id ] = []; // Add all non-computed base fields. foreach ( $this ->getBaseFieldDefinitions( $entity_type_id ) as $field_name => $definition ) { if (! $definition ->isComputed()) { $this ->fieldStorageDefinitions[ $entity_type_id ][ $field_name ] = $definition ; } } // Not prepared, try to load from cache. $cid = 'entity_field_storage_definitions:' . $entity_type_id . ':' . $this ->languageManager->getCurrentLanguage()->getId(); if ( $cache = $this ->cacheGet( $cid )) { $field_storage_definitions = $cache ->data; } else { // Rebuild the definitions and put it into the cache. $field_storage_definitions = $this ->buildFieldStorageDefinitions( $entity_type_id ); $this ->cacheSet( $cid , $field_storage_definitions , Cache::PERMANENT, [ 'entity_types' , 'entity_field_info' ]); } $this ->fieldStorageDefinitions[ $entity_type_id ] += $field_storage_definitions ; } return $this ->fieldStorageDefinitions[ $entity_type_id ]; } |
Please login to continue.