drupal 8 – Obtenga un valor de campo de la manera adecuada

Pregunta:

En un módulo personalizado, utilizo el siguiente código para obtener un valor de campo.

$value = $user->get('field_value')->getValue();

El valor devuelto es una matriz. Para obtener un valor escalar contenido en esa matriz, debería usar una de las siguientes líneas.

$value = reset(reset($user->get('field_value')->getValue()));
$value = $user->get('field_value')->getValue()[0]['value'];

¿Existe una forma más sencilla de Drupal para obtener el valor escalar contenido en la matriz?

Respuesta:

El método getValue() se usa para obtener una matriz:

$array = $user->get('field_value')->getValue();

Si desea obtener un uso escalar:

$value = $user->get('field_value')->value;

Ambos métodos parecen similares, pero hacen cosas diferentes:

  • El método getValue() es obtener la matriz completa de un campo, lo cual es bastante útil para campos de valores múltiples o propiedades múltiples.
  • El método ->value obtiene la propiedad con el mismo nombre. La mayoría de los campos estándar utilizan el value como propiedad principal.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım