#javascript #node.js #express #sequelize.js
#javascript #node.js #выражать #sequelize.js
Вопрос:
Это мои данные:
{
"inventoryId": "2688",
"inventoryItems": [
{
"fare": "399.00",
"passenger": {
"age": "21",
"email": "testing1@gmail.com",
"gender": "MALE",
"mobile": "9999999999",
"name": "Ticket1",
"primary": "true",
},
"Name": "5",
},
{
"fare": "399.00",
"passenger": {
"age": "21",
"email": "testing2@gmail.com",
"gender": "MALE",
"mobile": "9999999999",
"name": "Ticket2",
"primary": "true",
"Name": "6",
}
],
"pickupLocation": "Bus",
"pickupLocationId": "419",
}
Модели и их ассоциации!
Two Models: Ticket amp; TicketInventory
Association: Ticket HasMany TicketInventory amp; TicketInventory BelongsTo Ticket
-------------Mode : Ticket-------------------
module.exports = (sequelize, DataTypes) => {
class Ticket extends Model {
static associate(models) {
Ticket.belongsTo(models.User, {
foreignKey: 'userId',
});
Ticket.hasMany(models.TicketInventory, {
foreignKey: 'ticketinventoryId',
});
}
};
Ticket.init({
userId: {
type: DataTypes.INTEGER,
onDelete: 'CASCADE',
unique: true,
references: {
model: 'Users',
key: 'id',
}
},
......................................... // Rest of the fields
travels: {
type: DataTypes.STRING,
defaultValue: null
},
}, {
sequelize,
modelName: 'Ticket',
});
return Ticket;
};
------------------------------Model: TicketInventor---------------------
module.exports = (sequelize, DataTypes) => {
class TicketInventory extends Model {
static associate(models) {
TicketInventory.belongsTo(models.Ticket, {
foreignKey: 'ticketId',
});
}
};
TicketInventory.init({
ticketId: {
type: DataTypes.INTEGER,
onDelete: 'CASCADE',
unique: true,
references: {
model: 'Tickets',
key: 'id',
}
},
.......................................// Rest of the fields
serviceTax: {
type: DataTypes.STRING,
defaultValue: null
},
}, {
sequelize,
modelName: 'TicketInventory',
});
return TicketInventory;
};
Теперь мне нужно добавить «inventoryId», «pickupLocation» и «pickupLocationId» в таблицу билетов и «InventoryItems» в таблицу TicketInventory
Поскольку TicketInventory может быть массивом или другим объектом! Если это массив, то он может содержать от 1 до 8 элементов внутри него, и объект будет одним элементом!
Теперь мне нужно добавить данные в соответствующую таблицу, как выполнить массовое создание и как выполнить создание ассоциации
А теперь код для создания :
const add_ticket = await db.Ticket.create({
userId,
........
.........
........
ticketinventories: {
fare,
serviceTax
}},
{
include: [{
association: db.TicketInventory,
}]
}
----------
I dont know where is the mistake, pls help !
Комментарии:
1. Пожалуйста, ознакомьтесь с документацией Model.bulkCreate
2. Я проверил, как это сделать для ассоциации?