Node.js 对联接表执行Sequelize查询
我正在尝试使用sequelize查询联接表: 模型如下:Node.js 对联接表执行Sequelize查询,node.js,sequelize.js,Node.js,Sequelize.js,我正在尝试使用sequelize查询联接表: 模型如下: db.client.belongsToMany(db.user, { through: db.clientUser, onDelete: 'cascade', }); db.user.belongsToMany(db.client, { through: db.clientUser, }); 这就是我想做的: db.user.findAll({ where: { group_id: 1,
db.client.belongsToMany(db.user, {
through: db.clientUser,
onDelete: 'cascade',
});
db.user.belongsToMany(db.client, {
through: db.clientUser,
});
这就是我想做的:
db.user.findAll({
where: {
group_id: 1,
},
include: [{
model: db.clientUser,
where: {
is_manager: 1,
}
}],
raw: true,
})
但是我得到以下错误:client\u用户未与用户关联代码>
知道这个问题的原因是什么吗?您声明了客户机
从用户
到客户端用户
之间的关系。虽然迂腐,但它的抱怨在技术上是正确的:在客户端
和客户端用户
之间没有明确声明的关系。也不应该有:你的归属关系应该注意这一点。您的查询可以调整为使用此关系
注意:我不知道在哪些表中可以找到group_id和is_manager。他们可能需要被洗牌
db.user.findAll({
where: {
group_id: 1,
},
include: [{
model: db.client,
through: {
where: {
is_manager: 1, // Assuming clientUser.is_manager?
},
}],
raw: true,
})