我有这些模特。
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
答案 0 :(得分:0)
您好默认的外键是user_id而不是userid
参考http://docs.sequelizejs.com/en/1.7.0/docs/associations/#foreign-keys