如何在 Sequelize.js 中一行创建新记录和关联



我有两个模型:Tournament有很多Players。我正在努力实现这一目标:

const tournament = await db.Tournament.create(data);
const player  = await db.Player.create(data2);
await tournament.setPlayer(player);

但我正试图在更少的行中实现这一目标。我的意思是:我想创建一个锦标赛,然后以某种方式通过一些例如addPlayer(data2)添加新行,这样我就不需要先保留玩家然后进行关联。

这可能吗?或者我只需要坚持Tournament,然后坚持Player然后粘合它们?如果玩家的列tournament_id不能为空怎么办?那么上面的代码也不起作用...

有什么建议吗?

较老的问题,但我认为这就是您正在寻找的答案: 使用关联创建

return Product.create({
  title: 'Chair',
  user: {
    firstName: 'Mick',
    lastName: 'Broadstone',
    addresses: [{
      type: 'home',
      line1: '100 Main St.',
      city: 'Austin',
      state: 'TX',
      zip: '78704'
    }]
  }
}, {
  include: [{
    association: Product.User,
    include: [ User.Addresses ]
  }]
});

观察 Product.create 调用中 include 选项的用法。这对于 Sequelize 了解您尝试与关联一起创建的内容是必要的。

最新更新