Entity data provides a simple API to add data to any entity.
Drupal 10, 11
Entity data service works similar to core's 'user.data' service. Except the we don't restrict it only to user entity. You can set data for any content entities.
The primary usage involves the getter/setter methods:
// Set custom data to entity.
\Drupal::service('entity.data')->set($module_name, $entity_id, $custom_data_name, $entity_type, $value);
// Get custom data for entity.
\Drupal::service('entity.data')->get($module_name, $entity_id, $custom_data_name, $entity_type);
// Delete custom data for entity
\Drupal::service('entity.data')->delete($module_name, $entity_id, $custom_data_name, $entity_type);
Drupal 7
It works similar to core's variable_set/get/del system. Except the data is associated with a entity and only loaded when that entity is loaded.
The primary usage involves the getter/setter methods:
entity_data_set($entity_type, $entity_id, $name, $value, $revision_id = 0, $language = LANGUAGE_NONE);
entity_data_get($entity_type, $entity_id, $name, $default = NULL, $revision_id = 0, $language = LANGUAGE_NONE);
entity_data_del($entity_type, $entity_id, $name, $revision_id = 0, $language = LANGUAGE_NONE);
In addition to using the getter/setter methods, entity_data is automatically attached on entity_load and saved on entity_insert/entity_update. The data can be accessed using following the format:
$entity->entity_data[$name]
This also means that entity data will export and import with the entity.
Sponsors
- European Commission (Drupal 9, 10)
- LevelTen Interactive (Drupal 7)
Project information
- Project categories: Developer tools
21 sites report using this module
- Created by TomDude48 on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.


