Cómo obtener una matriz de identificadores de entidad referenciados de un campo de referencia de entidad

10

Tengo un entity_referencecampo con BaseFieldDefinition::CARDINALITY_UNLIMITEDcardinalidad. Quiero una lista de identificadores de entidad referenciados. Sé que puedo obtener todas las entidades referenciadas llamando $x->referencedEntities(), pero solo quiero que los identificadores carguen las entidades más tarde. Actualmente estoy haciendo esto:

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

¿Alguien sabe una solución mejor como estaba en D7 (-> raw ())?

Gracias

Rainer Feike
fuente

Respuestas:

23

Como alternativa, puede hacerlo en una línea con una función de matriz en lugar de un bucle:

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

Editar: se usa getValue()para obtener solo la matriz del campo.

4k4
fuente