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添加了模型。有几个字段要提供,我没有忽略。不需要设置外键的名称,因为它是默认名称。
提供了几个字段
,我省略了这些字段。不需要设置外键的名称,因为它是默认名称。