Eu sei que posso atualizar (ou definir um valor para) um campo de referência de entidade no Drupal 7 com código semelhante ao seguinte.
$node['field_code_used_by'][LANGUAGE_NONE][0]['target_id'] = $id;
Desejo definir programaticamente um valor para o meu campo de referência de entidade do usuário no Drupal 8.
Eu tentei com $node->field_code_used_by->setValue(1);
e $node->field_code_used_by->entity->value = 1;
mas nenhum deles funcionou.
Como posso definir o valor para um campo de referência da entidade?
Como em D7, a propriedade principal de um campo de referência em D8 ainda é a
target id
:A
entity
propriedade é um valor calculado. Se você colocar um objeto nesse valor, o drupal o converterá novamente no ID antes de salvá-lo na dababase.Campos de valores múltiplos
Adicione um item a um campo de vários valores:
A propriedade
target_id
não é necessária, porque é a propriedade principal e usada por padrão. Portanto, para a maioria dos campos, você pode adicionar um valor como em uma matriz php simples, fácil de lembrar:fonte