我可以创建城市模型已存在的用户模型吗?
例如:
var User = this.sequelize.define('User', {name: String})
var City = this.sequelize.define('City', {name: String})
User.belongsTo(City);
现在假设我已经在数据库中有一条记录,例如:
| Id | Name |
|----|--------|
| 1 | York |
| 2 | London |
我不会创建住在伦敦的新用户。
最好的方法是什么?
我试过了:
User.create({name: 'John', City: 'London'}, {include: [City]})
但是出现了一个错误:cityId没有默认值。
我试图避免首先检索cityId。
由于
答案 0 :(得分:1)
自动定义的setXXX
函数是执行此操作的最佳方式:
User.create({ user_field_1: 'foo', user_field_2: 'bar' })
.then(function(new_user) {
new_user.setCity(someCityInstance);
});
如果您没有实例但知道要关联的City实例的密钥,那么在创建时直接指定它可能有效:
User.create({ user_field_1: 'foo', user_field_2: 'bar', city_id: 'xyz' });