Jak uzyskać tablicę identyfikatorów encji, do których istnieją odniesienia, z pola referencji encji


10

Mam entity_referencepole o BaseFieldDefinition::CARDINALITY_UNLIMITEDliczności. Chcę listę identyfikatorów encji, do których istnieją odniesienia. Wiem, że mogę uzyskać wszystkie encje, do których się odwołuję $x->referencedEntities(), dzwoniąc , ale chcę tylko identyfikatory, aby encje zostały załadowane później. Obecnie robię to:

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

Czy ktoś zna lepsze rozwiązanie, takie jak w D7 (-> raw ())?

Dzięki

Odpowiedzi:


24

Alternatywnie możesz to zrobić w jednym wierszu z funkcją tablicy zamiast w pętli:

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

Edycja: Użyj, getValue()aby uzyskać tylko tablicę pola.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.