it-swarm.com.de

So erhalten Sie ein Array referenzierter Entitäts-IDs aus einem Entitätsreferenzfeld

Ich habe ein entity_reference Feld mit BaseFieldDefinition::CARDINALITY_UNLIMITED Kardinalität. Ich möchte eine Liste der referenzierten Entitäts-IDs. Ich weiß, dass ich alle referenzierten Entitäten durch Aufrufen von $x->referencedEntities() abrufen kann, aber ich möchte, dass nur die IDs die Entitäten später laden. Derzeit mache ich das:

  $a = [];
  foreach ($entity->autoren as $v) {
    $a[] = $v->target_id;
  }
  $this->setCurrentAnwaltReferenzen($a);

Kennt jemand eine bessere Lösung wie in D7 (-> raw ())?

Vielen Dank

10
Rainer Feike

Alternativ können Sie dies in einer Zeile mit einer Array-Funktion anstelle einer Schleife tun:

$ids = array_column($entity->autoren->getValue(), 'target_id');

Bearbeiten: Verwenden Sie getValue(), um nur das Array des Feldes abzurufen.

23
4k4