我正在使用sequelize.js
,其中我有一个表(例如User
),其中包含不同的字符串字段以及与另一个表(例如Nationality
)的多对多关系。
我正在尝试在一条指令中插入一个包含所有子元素和国籍的新User
行。现在我这样做:
models.Nation.create({codice:"IT",name:"Italia"}).then(function(italy){
models.User.create({username:"local_u",nation:italy}).then(function(){
});
});
如果我查看数据库,则在新创建的User
行: the field
NationId`未设置。
我知道我可以使用续集函数setNation
,但我想知道我是否可以在一个User.create
内完成。
答案 0 :(得分:1)
是的,您可以使用include一步创建包含国家/地区的用户实体。这样的事情(未经过测试的代码):
models.Nation.create({ codice: "IT", name: "Italia" }).then(function (italy) {
models.User.create({
username: "local_u",
nation: italy
}, {
include: [models.nation]
}
).then(function () {/*Do Something*/});
});
这是一个古老的问题,但希望可以帮助别人。