Как добавить данные в повторяемый компонент внутри типа коллекции, используя функцию жизненного цикла beforeCreate в StrJavascript

Форум по Javascript
Ответить
Anonymous
 Как добавить данные в повторяемый компонент внутри типа коллекции, используя функцию жизненного цикла beforeCreate в Str

Сообщение Anonymous »

В моей коллекции Product у меня есть поле с именем «Natritional», повторяющееся поле которого имеет:

значение (int)

питание (отношение к питанию)
Я хочу заполнить повторяющееся поле перед созданием данных. Все остальные типы полей работают, но я не могу заполнить повторяющееся поле массивом.

Код: Выделить всё

export default {
async beforeCreate(event) {
const { data } = event.params;
try {
// Call external API
const response = await axios.get(`http://127.0.0.1:8000/api/import/${data.GTIN}`);

// Set a field in the new entry based on API response
/*if (response.data.summary) {
data.summary = response.data.summary;
}*/

// Optionally modify other fields
const product = response.data.products.product;
data.title = product.pbm_produktname_mittel;
data.weight = product.ihf_nettofuellmenge_oder_mengenangabe;
data.price = product.preis_empfohlener_verkaufspreis_deutschland;
data.shortDescription = product.markinf_produktbeschreibung_kurz;
data.description = product.markinf_produktbeschreibung_mittel;
data.longDescription = product.markinf_produktbeschreibung_lang;
let nut = await getNutrition(product)
/*give back
[
{ nutrition: 1, value: 14 },
{ nutrition: 3, value: 30 },
{ nutrition: 8, value: 80 },
{ nutrition: 10, value: 14 }
]
*/
console.log(nut)
data.nutritional = nut;

} catch (error) {
strapi.log.error('❌ Failed to fetch external data:', error);
// Optionally prevent creation
// throw new Error('Cannot create entry, external API failed');
}
},
};

Код: Выделить всё

data.nutritional
хочет идентификатор
[2025-11-14 12:23:09.626] ошибка: неверный идентификатор, ожидается строка или целое число, получен [объект объекта]Ошибка: неверный идентификатор, ожидается строка или целое число, получен [объект объекта]
Как я могу заполнить поле с помощью моего API?
введите описание изображения здесь

Подробнее здесь: https://stackoverflow.com/questions/798 ... using-a-be
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»