我可以创建一个已经存在城市模型的用户模型吗?
例如:
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。
感谢
自动定义的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' });