Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

entity_data

22 sites Security covered
View on drupal.org

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

Activity

Total releases
1
First release
Feb 2025
Latest release
1 year ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
1.1.1 Stable Feb 19, 2025