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_id
atau 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 EntityReferenceFieldItemList
yang mengimplementasikan referencedEntities()
metode. Jadi solusi Anda hanya sebagian - ini berfungsi untuk daftar tetapi tidak untuk bidang tunggal.