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

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.