Javascript 在以下一对一关系中插入数据以继续
我有两个模式Javascript 在以下一对一关系中插入数据以继续,javascript,sql,sequelize.js,Javascript,Sql,Sequelize.js,我有两个模式 地址 雇员 每个员工都有一个地址,所以我的模式如下 employee.js 下面是插入逻辑,它不工作,如何执行关联插入 Item是数组中的一个对象,我在数组中执行了forEach const obj = { empId: item.empId, name: item.name, joinDateTime: item.joinDateTime, }; const address = { street: item.street, city:
- 地址
- 雇员
const obj = {
empId: item.empId,
name: item.name,
joinDateTime: item.joinDateTime,
};
const address = {
street: item.street,
city: item.city,
postalCode: item.postalCode,
};
Employee.build(obj).save().then((resp) => {
/* here how can i perform the insertion in associated address schema
obj.address(address) won't work */
obj.address(address).then(() => console.log('created')).catch(err =>
console.log(err));
}).catch(err => console.log(err));
您必须添加两段代码 在第一个代码段中,添加
employee.hasOne(address);
在你的第二个,改变
Employee.build(obj).save().then((resp) => {
/* here how can i perform the insertion in associated address schema
obj.address(address) won't work */
obj.address(address).then(() => console.log('created')).catch(err =>
console.log(err));
}).catch(err => console.log(err));
到
注:对象地址(address)变为对象设置地址(address)
请让我们知道这是否有效 它抛出一个错误
TypeError:obj.setAddress(address)
,因为obj只是一个基本类型而不是一个实例?哦,是的,你是对的。在obj
中,现在是新创建的employee
,它被传递给save方法的then函数。
Employee.build(obj).save().then((resp) => {
/* here how can i perform the insertion in associated address schema
obj.address(address) won't work */
obj.address(address).then(() => console.log('created')).catch(err =>
console.log(err));
}).catch(err => console.log(err));
Employee.build(obj).save().then((employee) => {
employee.setAddress(address).then(() => console.log('created')).catch(err =>
console.log(err));
}).catch(err => console.log(err));