エンティティ参照フィールドから参照されるエンティティIDの配列を取得する方法


10

カーディナリティのあるentity_referenceフィールドがありますBaseFieldDefinition::CARDINALITY_UNLIMITED。参照されるエンティティIDのリストが必要です。を呼び出すことですべての参照エンティティを取得できることはわかっていますが、$x->referencedEntities()後で読み込まれるエンティティを取得するにはidのみが必要です。現在私はこれをやっています:

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

D7(-> raw())のようなより良い解決策を誰かが知っていますか?

ありがとう

回答:


23

別の方法として、ループの代わりに配列関数を使用して1行で行うことができます。

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

編集:getValue()フィールドの配列のみを取得するために使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.