Node.js 在sequelize.js中获取与belongAsmany的关联
我通过UserDevice联接表在用户和设备模型之间建立了多对多关系:Node.js 在sequelize.js中获取与belongAsmany的关联,node.js,typescript,orm,sequelize.js,Node.js,Typescript,Orm,Sequelize.js,我通过UserDevice联接表在用户和设备模型之间建立了多对多关系: device.belongsToMany(user, { through: { model: userDevice }, foreignKey: "deviceId", as: "customers" }); user.belongsToMany(device, { through: {
device.belongsToMany(user, {
through: {
model: userDevice
},
foreignKey: "deviceId",
as: "customers"
});
user.belongsToMany(device, {
through: {
model: userDevice
},
foreignKey: "customerId",
as: "devices"
});
setCustomers: Sequelize.BelongsToManySetAssociationsMixin<UserInstance, string, UserDeviceAttribute>;
getCustomers: Sequelize.BelongsToManyGetAssociationsMixin<UserInstance>;
我不知道如何在其他场景中填充客户,即当我手动设置客户时。现在,我正在尝试类似于:
return device.setCustomers(customers)
.then(() => {
return device.getCustomers();
})
.then((users) => {
device.setAttributes("customers", users);
return device;
});
但它不起作用,setAttributes不设置customers字段。答案在问题中。我今天遇到同样的问题时发现了这个bug。 setAttributes似乎是sequelize的保留方法
return device.setCustomers(customers)
.then(() => {
return device.getCustomers();
})
.then((users) => {
device.setAttributes("customers", users);
return device;
});