У меня есть массив с объектами ( person ), например:
[ {id: 1, name: Tony},
{id: 2, name: John} ...]
Я добавляю в таблицу базы данных событие новую строку и получаю значение id. После этого мне нужно добавить новые строки в другую таблицу personToEvent со значением id из event и значениями идентификатора из массива person . Таблица базы данных personToEvent должна выглядеть следующим образом:
id | eventid | personid
1 | 120 | 1
2 | 120 | 2
Но на самом деле, после добавления новой строки в событие , выборка не вызывается. Я не знаю почему
Здесь я добавляю новую строку в событие :
addEventToDatabase() {
fetch(`${Config.baseUrl}/event/add`, {
method: 'PUT',
body: JSON.stringify(this.state.newEvent),
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.then((response) => {
if (response.status >= 400) {
throw new Error('Bad response from server');
}
return response.json();
})
.then(returnedData => {
if (this.state.person.length !== 0) {
this.addPersonToEvent(returnedData.id);
}
});
}
Здесь я пытаюсь добавить новые строки в personToEvent :
addPersonToEvent(lastEventId) {
this.state.person.map(item => (
fetch(`${Config.baseUrl}/person-event/add/${lastEventId}/${item.id}`, {
method: 'PUT'
})
.then((response) => {
if (response.status >= 400) {
throw new Error('Bad response from server');
}
return response.json();
})
));
}
Новые строки не добавляются в таблицу базы данных. В консоли нет ошибок. Как правильно добавить строки в personToEvent ?
В общем, я пытаюсь реализовать модель данных «многие ко многим»