Sé que puedo actualizar (o establecer un valor para) un campo de referencia de entidad en Drupal 7 con un código similar al siguiente.
$node['field_code_used_by'][LANGUAGE_NONE][0]['target_id'] = $id;
Quiero establecer programáticamente un valor para mi campo de referencia de entidad de usuario en Drupal 8.
Lo intenté $node->field_code_used_by->setValue(1);
y $node->field_code_used_by->entity->value = 1;
ninguno de los dos funcionó.
¿Cómo puedo establecer el valor para un campo de referencia de entidad?
Al igual que en D7, la propiedad principal de un campo de referencia en D8 sigue siendo
target id
:La
entity
propiedad es un valor calculado. Si coloca un objeto en este valor, drupal lo convertirá nuevamente a la identificación antes de guardarlo en la base de datos.Campos de valores múltiples
Agregar un elemento a un campo de valores múltiples:
La propiedad
target_id
no es necesaria, porque es la propiedad principal y se usa de manera predeterminada. Entonces, para la mayoría de los campos, puede agregar un valor como en una matriz php simple, que es fácil de recordar:fuente