#node.js #express #sequelize.js
#node.js #экспресс #sequelize.js
Вопрос:
Это мой код :
const add_ticket = await db.Ticket.create({
userId,
travels: ticket.travels,
TicketInventory: {
fare: "Fare",
passenger: "passenger",
seatName: "seatName",
serviceTax: "serviceTax",
}
},
{
include: {
model: db.TicketInventory,
}})
Мне нужно добавить сведения о «TicketInventory» в таблицу «TicketInventory»! Но это не добавление — но остальные детали были добавлены в таблицу «ticket»!
Ассоциация: билет имеет много TicketInventory и TicketInventory принадлежит билету!
Мой ассоциативный код:
/// For Ticket Model
static associate(models) {
Ticket.hasMany(models.TicketInventory, {
foreignKey: 'ticketId',
onDelete: 'CASCADE' ,
as: 'vegetables'
});
}
};
/// For TicketInventory Model
static associate(models) {
TicketInventory.belongsTo(models.Ticket, {
foreignKey: 'ticketId',
});
}
Please help to resolve
Комментарии:
1. Показать определения ассоциаций как есть
2. Я добавил код ассоциации — пожалуйста, проверьте @Anatoly
3. как: «овощи»??
4. ЛоЛ, я просто назвал это с разочарованием!
5. Затем вы должны указать псевдоним в
include
опции и изменитьTicketInventory:
vegetables:
и превратить значение в массив
Ответ №1:
Такого рода вещи…
const add_ticket = await db.Ticket.create({
userId,
travels: ticket.travels,
vegetables: [{
fare: "Fare",
passenger: "passenger",
seatName: "seatName",
serviceTax: "serviceTax",
}]
},
{
include: [{
model: db.TicketInventory,
as: "vegetables"
}]
})