Saya memiliki objek simpul dengan bidang gambar bernama field_image. Kapan saya melakukannya
$node
->get('field_image')
->first()
->getValue()
Saya mendapatkan array dengan beberapa properti, bukan objek entitas. Array terlihat seperti ini:
'target_id' => string '8' (length=1)
'alt' => string '' (length=0)
'title' => string '' (length=0)
'width' => string '587' (length=3)
'height' => string '458' (length=3)
'_loaded' => boolean true
'_accessCacheability' =>
object(Drupal\Core\Cache\CacheableMetadata)[1092]
protected 'cacheContexts' =>
array (size=0)
...
protected 'cacheTags' =>
array (size=0)
...
protected 'cacheMaxAge' => int -1
Apakah saya harus manullay memuat entitas file menggunakan target_idatau ada cara untuk secara otomatis mendapatkan objek entitas yang direferensikan dari Drupal\image\Plugin\Field\FieldType\ImageItem?
Mengapa entitas yang direferensikan tidak dapat diakses melalui pengambil? Bisa dimuat malas jika tidak segera tersedia.
PHP Fatal error: Call to undefined method Drupal\image\Plugin\Field\FieldType\ImageItem::getTarget(). Namun $node->get('imagefield')->referencedEntities()berfungsi berkat fakta $node->get('imagefield')mengembalikan contoh EntityReferenceFieldItemListyang mengimplementasikan referencedEntities()metode. Jadi solusi Anda hanya sebagian - ini berfungsi untuk daftar tetapi tidak untuk bidang tunggal.