drupal9

Cargar Entidades en drupal 8, 9 y 10

En drupal 8, 9 y 10 tenemos entidades ya sean del core o entidades custom, estas últimas pueden ser creadas a mano o utilizando el módulo contribuido https://www.drupal.org/project/eck.

  1. Podemos cargar a todas las entidades de cierto tipo haciendo uso de la siguiente linea:

  $users = \Drupal::entityTypeManager()->getStorage('user')->loadMultiple();

    En este caso le estamos diciendo al método getStorage que cargue a la entidad user, con lo que se cargarán a todos los usuarios con el método loadMultiple().

  2. Si deseamos cargar un conjunto de entidades, sólo debemos pasar un array con los id's deseados.

$entities = \Drupal::entityTypeManager()->getStorage($entity_type)->loadMultiple([1, 2, 3]);

  3. Si deseamos cargar sólo una entidad en específico, podemos hacerlo con su id:

$entity = \Drupal::entityTypeManager()->getStorage($entity_type)->load(1);

  El $entity_type podría ser un user como en el caso anterior, o podría ser cualquier tipo de entidad incluso custom.

   4. Para obtener un campo específico de dicha entidad podemos usar:

$entity->get('field_machine_name')

  5. Si deseamos obtener sólo el id de dicha entidad:

$entity->id()

  6. Si deseamos grabar un dato en alguno de los campos de la entidad,  por ejemplo en el apellido de la persona, podemos hacerlo así:

$entity->set('last_name', 'Apellido del usuario');

// Guardar la entidad.
$entity->save();

  7.  En caso de ser un campo multiple o ilimitado podemos pasar los valores en un array:

  $new_values = ['Carlos', 'Pedro', 'Juan'];
  $$entity->set('name', $new_values);

  $entity->save();

Para más información podemos consultar la documentación en https://www.drupal.org/docs/drupal-apis/entity-api/working-with-the-entity-api.

Me pareció interesante el artículo

Deseo más información

O también puedes comunicarte con nosotros.

por whatsapp por whatsapp

Añadir nuevo comentario

Me gustaría más información sobre:

CAPTCHA