Ich weiß, dass ich ein Entitätsreferenzfeld in Drupal 7 mit folgendem Code aktualisieren (oder einen Wert dafür festlegen) kann.
$node['field_code_used_by'][LANGUAGE_NONE][0]['target_id'] = $id;
Ich möchte programmgesteuert einen Wert für mein Benutzerentitätsreferenzfeld in Drupal 8 festlegen.
Ich habe versucht , mit $node->field_code_used_by->setValue(1);
und $node->field_code_used_by->entity->value = 1;
aber keiner von ihnen arbeitete.
Wie kann ich den Wert für ein Entitätsreferenzfeld festlegen?
Wie in D7 ist die Haupteigenschaft eines Referenzfeldes in D8 immer noch
target id
:Die
entity
Eigenschaft ist ein berechneter Wert. Wenn Sie ein Objekt in diesen Wert einfügen, konvertiert Drupal es zurück in die ID, bevor es in der Datenbank gespeichert wird.Felder mit mehreren Werten
Hinzufügen eines Elements zu einem Feld mit mehreren Werten:
Die Eigenschaft
target_id
ist nicht erforderlich, da sie die Haupteigenschaft ist und standardmäßig verwendet wird. Für die meisten Felder können Sie also einen Wert wie in einem einfachen PHP-Array hinzufügen, an den Sie sich leicht erinnern können:quelle