Bir varlık referans alanından referans verilen varlık kimlikleri dizisi nasıl alınır


10

Bir var entity_referenceolan alan BaseFieldDefinition::CARDINALITY_UNLIMITEDkardinalitesi. Başvurulan varlık kimliklerinin bir listesini istiyorum. Ben tüm başvurulan varlıkları arayarak alabilirsiniz biliyorum $x->referencedEntities(), ama daha sonra yüklenen varlıkları almak için sadece kimlikleri istiyorum. Şu anda bunu yapıyorum:

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

Herkes D7 (-> raw ()) gibi daha iyi bir çözüm biliyor mu?

Teşekkürler

Yanıtlar:


24

Alternatif olarak, döngü yerine dizi işlevi ile tek bir satırda yapabilirsiniz:

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

Düzenle: getValue()Yalnızca alanın dizisini almak için kullanın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.