Node.js 对联接表执行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,

我正在尝试使用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,
      },
      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,
})