Есть entity в которую я добавил поле Image. В базе данных есть кастомная таблица с разными колонками где лежат в том числе и id-шки картинок.
Раньше создал батч который записывает данные из этой таблицы в поля entity. То есть создает из записей в таблице много энтити с заполненными полями. Нужно делать также но уже для картинок. Часть кода из батча:
<?php
if (empty($entity_id)) {
$info = [
'type' => 'product',
'title' => $productTitle,
'field_name' => (string) $product->name,
'field_product_cid' => (string) $product->cid,
'field_custom_url' => $product->url,
'uid' => 1,
// вот здесь нужно добавлять картинку в поле field_image из таблицы
];
$node = $this->entityTypeManager->getStorage('node')->create($info);
$node->save();
}
else {
$storage = $this->entityTypeManager->getStorage('node');
$node = $storage->load($entity_id);
// Change fields of node.
$node->set('title', $productTitle);
$node->set('field_name', (string) $product->name);
$node->set('field_custom_url', $product->url);
// а здесь изменять field_image если нода уже существует
$node->save();
}
}
?>
Комментарии
Нужно сначала создать сущность "файл", а потом прикрепить этот файл к вашей сущности.