Sequelize - 带有where子句的多个嵌套模型

时间:2016-06-20 16:17:37

标签: node.js sequelize.js

我有一个有两个关联的模型,我希望返回两个关联的模型,但只能满足一个标准。

e.g。

        models.Users.findAll({
            include: [
                {
                    model: models.Context,
                    where: { id: req.session.contextObject.id }
                },
                {    
                    model: models.Role
                }
            ]
        }).then(function(fullUsers){...

所以我想返回所有用户,其上下文角色,但仅 < strong>上下文匹配我拥有的值。

是否可以返回多个关联模型,但其中一个模型上有where子句?

当仅包含Context模型时,这非常正常。

1 个答案:

答案 0 :(得分:1)

如果您想按上下文的ID进行过滤,则可以使用“用户”上下文的“上下文”属性参考。模型:

models.Users.findAll({
      where : { ContextId : req.session.contextObject.id }
    , include: [
        {
            model: models.Context           
        },
        {    
            model: models.Role
        }
    ]
}).then(function(fullUsers){...