【问题标题】:Sequelize js: create/update with foreign keySequelize js:使用外键创建/更新
【发布时间】:2017-02-16 05:02:06
【问题描述】:

只是想 CRUD 并了解它是如何工作的。

model.wallet.belongsTo(model.users);

model.wallet.sync({force: true}).then(function () {
    return model.wallet.create({
        balance: 300,
        users: {id:1}
    }, {
        include: [ model.users ]
    })
});

我尝试了include: [ {model: model.users} ] 但仍然得到(NULL)

如果你有解决方案和一些例子,那应该很好。

【问题讨论】:

    标签: javascript node.js sequelize.js


    【解决方案1】:

    根据 Sequelize 文档中的示例

    Player.belongsTo(团队); // 将向 Player 添加一个 teamId 属性来保存 Team 的主键值。

    默认情况下,belongsTo 关系的外键将从目标模型名称和目标主键名称生成。

    假设这些模型被称为player和team,模型team中的主键是id。这意味着如果你在指定模型上使用belongsTo(没有任何附加选项),它将创建一个名称为<related_model_name><related_model_primary_key>的属性,所以如果你的用户模型被称为users并且它的主键是id,那么在wallet 模型中创建的外键将被称为usersId。


    如果要创建新的wallet 并将其分配给用户,则需要在create 属性中指定正确的外键字段

    model.wallet.create({
        balance: 300,
        usersId: 1
    });
    

    【讨论】:

    • 当我指定外键名称时它只适用于我,就像这样:model.wallet.belongsTo(model.users, {foreignKey: "usersId"});
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多