Cara mendapatkan array id entitas yang direferensikan dari bidang referensi entitas

10

Saya memiliki entity_referencebidang dengan BaseFieldDefinition::CARDINALITY_UNLIMITEDkardinalitas. Saya ingin daftar id entitas yang direferensikan. Saya tahu bahwa saya bisa mendapatkan semua entitas yang direferensikan dengan menelepon $x->referencedEntities(), tetapi saya hanya ingin id untuk mendapatkan entitas yang dimuat nanti. Saat ini saya sedang melakukan ini:

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

Apakah ada yang tahu solusi yang lebih baik seperti di D7 (-> raw ())?

Terima kasih

Rainer Feike
sumber

Jawaban:

23

Sebagai alternatif, Anda bisa melakukannya dalam satu baris dengan fungsi array, bukan loop:

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

Sunting: Gunakan getValue()untuk hanya mendapatkan larik bidang.

4k4
sumber