我的民意调查模型和期权模型之间存在一对多的关系,其中一个民意调查可以有多个选项。
设置关联,以便Options具有pollId列,该列需要插入轮询模型中的正确id。
var Options = sequelize.define('Options', {
name: {
type: DataTypes.STRING,
allowNull: false
},
votes: {
type: DataTypes.INTEGER,
allowNull: false
}
}, {
classMethods: {
associate: function(models) {
// associations can be defined here
Options.belongsTo(models.Polls, {
foreignKey: 'pollId',
onDelete: 'CASCADE'
});
}
}
});
我正在使用批量创建一次创建多个选项,如此
models.Users.findOne({
where: {uuid: user_id}
}).then((user) => {
models.Polls.create({
createdBy: user.get('name'),
userId: user_id,
voter_ids: []
}).then((poll) => {
models.Options.bulkCreate({
})
})
});
不确定如何以有意义的方式将pollId选项添加到每个条目以反映相同的轮询模型实例。
答案 0 :(得分:0)
如果要使用bulkCreate()
,则必须手动将pollId添加到选项中。你可以轻松做到:{pollId: poll.id}
但是有一个更好的选择:
您可以发出一个create()
,包括民意调查和选项。只需将选项添加到投票中,并使用include
的{{1}}选项指定您也要创建这些选项,请参阅:http://docs.sequelizejs.com/manual/tutorial/associations.html#creating-elements-of-a-hasmany-or-belongstomany-association
create()