【问题标题】:Sequelize one to Many insertion is not working?续集一对多插入不起作用?
【发布时间】:2020-11-25 20:19:04
【问题描述】:

这是我的代码:

         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”详细信息!但它没有添加 - 但其余详细信息已添加到“票”表!

Association : Ticket HasMany TicketInventory 和 TicketInventory BelongsTo Ticket!

我的关联码:

/// 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 

【问题讨论】:

  • 按原样显示关联定义
  • 我已经添加了关联代码 - 请检查@Anatoly
  • as: '蔬菜' ??
  • 大声笑,我只是沮丧地命名它!
  • 那么你应该在include选项中指定一个别名并将TicketInventory:更改为vegetables:并将一个值变成一个数组

标签: node.js express sequelize.js


【解决方案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"
              }]
            })
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 2014-07-01
    • 2018-09-23
    • 1970-01-01
    相关资源
    最近更新 更多