엔티티 참조 필드에서 참조 된 엔티티 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 ())과 같은 더 나은 솔루션을 알고 있습니까?

감사

답변:


24

대안으로 루프 대신 배열 함수를 사용하여 한 줄로 수행 할 수 있습니다.

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

편집 : getValue()필드 배열 만 가져 오려면 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.