2017-02-16 19 views
0

只是想要CRUD并理解它是如何工作的。续集js:使用外键创建/更新

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)

如果你有解决方案和一些例子中,它应该是不错的。

回答

1

根据Sequelize文档

Player.belongsTo(球队)在实施例; //将添加一个teamId属性给Player以保存Team的主键值。

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

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


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

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