Comment obtenir un tableau d'ID d'entité référencés à partir d'un champ de référence d'entité

10

J'ai un entity_referencechamp avec une BaseFieldDefinition::CARDINALITY_UNLIMITEDcardinalité. Je veux une liste des identifiants d'entité référencés. Je sais que je peux obtenir toutes les entités référencées en appelant $x->referencedEntities(), mais je veux que seuls les identifiants récupèrent les entités plus tard. Actuellement, je fais ceci:

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

Est-ce que quelqu'un connaît une meilleure solution comme elle l'était en D7 (-> raw ())?

Merci

Rainer Feike
la source

Réponses:

23

Comme alternative, vous pouvez le faire sur une seule ligne avec une fonction tableau au lieu d'une boucle:

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

Modifier: utilisez getValue()pour obtenir uniquement le tableau du champ.

4k4
la source