我有两个模型: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 了解您尝试与关联一起创建的内容是必要的。