创建具有关联但没有父实例的新模型

时间:2016-10-17 10:08:31

标签: node.js sequelize.js

我有这些模特。

var User = this.sequelize.define('user', {name: String})
var Account = this.sequelize.define('account', {account: String})

User.hasMany(Account);
Account.belongsTo(User);

现在,假设在TABLE User中,我已经拥有:

| id | name   |
|----|--------|
| 1  | Maat   |
| 2  | MatieL |

现在,我想创建一个帐户,但我只想使用用户ID而不是用户实例。

Account.create({name: 'MyAccount', userid: 1});

但在那之后,TABLE Account中的行显示为:

| id |   account   |userId|
|----|-------------|------|
| 1  | MyAccount   | NULL |

我不知道为什么它不起作用。如果你知道答案,请建议我。
谢谢。
PS: 我知道我可以通过另一种方式创建帐户实例,首先通过userid查找userinstance然后在创建account之后再调用userinstance.addAccount(account),但我不想使用这种方式,因为这需要更多的查询。


PS2:解决方案是使用i资本的userId,而非userid

1 个答案:

答案 0 :(得分:0)

您好默认的外键是user_id而不是userid

参考http://docs.sequelizejs.com/en/1.7.0/docs/associations/#foreign-keys