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

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.