Node.js 在sequelize中创建模型及其关联
我正在使用作为我的Node.js 在sequelize中创建模型及其关联,node.js,sequelize.js,Node.js,Sequelize.js,我正在使用作为我的nodejsweb应用程序表单。 我有两种型号,提供和游戏。它们之间有1:1的关联,我正在考虑如何实现它。 首先,我尝试使用Offer.belongsTo(Game),以便GameId驻留在Offer模型中。当我创建报价时,我希望游戏也被创建 我已将协会设置为: Offer.belongsTo(models.Game, { foreignKey: { allowNull: false } }) 这样GameId就永远不会为空。在
nodejs
web应用程序表单。我有两种型号,
提供
和游戏
。它们之间有1:1的关联,我正在考虑如何实现它。首先,我尝试使用
Offer.belongsTo(Game)
,以便GameId
驻留在Offer
模型中。当我创建报价
时,我希望游戏
也被创建
我已将协会设置为:
Offer.belongsTo(models.Game, {
foreignKey: {
allowNull: false
}
})
这样GameId
就永远不会为空。在续集
中,我可以创建游戏
和优惠
,如下所示:
models.Offer.create({Game:{"name":"The Last of Us", "platform":"PC"}},{include:[models.Game]});
但我得到了:
Unhandled rejection SequelizeDatabaseError: null value in column "GameId" violates not-null constraint
如何使用not null约束在1个操作中创建提供
和游戏
编辑:
您没有为
提供
对象放置任何内容。你只是在传递游戏
对象
models.Offer.create({
//set fields for 'Offer'
Game:{"name":"The Last of Us", "platform":"PC"}
},
{include:[models.Game]}
);
此外,在设置关联时,您只需定义foreignKey
。约束定义驻留在模型中:
Offer.belongsTo(models.Game, {
foreignKey: 'GameId'
});
您没有为
提供
对象放置任何内容。你只是在传递游戏
对象
models.Offer.create({
//set fields for 'Offer'
Game:{"name":"The Last of Us", "platform":"PC"}
},
{include:[models.Game]}
);
此外,在设置关联时,您只需定义foreignKey
。约束定义驻留在模型中:
Offer.belongsTo(models.Game, {
foreignKey: 'GameId'
});
不直接相关,但更像是仅供参考:。你能发布模型的定义吗?@Shaharyar添加了模型。不直接相关,但更像是仅供参考:。你能发布模型的定义吗?@Shaharyar添加了模型。有几个字段要提供,我没有忽略。不需要设置外键的名称,因为它是默认名称。
提供了几个字段
,我省略了这些字段。不需要设置外键的名称,因为它是默认名称。