Я ищу самый элегантный способ сохранить объект и связанные с ним свойства.
Допустим, у меня есть что-то вроде этого:
const Party = bookshelf.model("Party", {
tableName: "Parties",
address() {
return this.hasOne("Address");
}
});
const Address = bookshelf.model("Address", {
tableName: "Addresses",
party() {
return this.belongsTo("Party");
}
});
В БД:
Party: id, name, address_id
Address: id, country
Теперь я бы сохранил его в БД.
Я знаю, что эта операция должна быть транзакцией, потому что я должен сохранить обе сущности. Должен ли я сначала сохранить адрес (что не так важно) и в .then () использовать AddressId для заполнения foreignKey в новом объекте Party?
Или, может быть, на книжной полке. js существует некоторый ярлык, например save.withRelated или что-то вроде этого?
Пожалуйста, не думайте, что я не пробовал. Я много пробовал, читал, все безуспешно.
На мой взгляд, должно быть что-то вроде этого:
Party.forge({
name: req.body.name,
address: {
country: req.body.address.country
}
})