sequelizejs中的关联过滤器查询

时间:2013-12-16 19:39:28

标签: sequelize.js

我正在尝试使用sequelizejs进行关联的过滤查询。

synario如下,

我有一个User模型,其中包含几个属性和Access模型,该模型与User具有一对一关系,其映射如下

User.hasOne(Access);

现在,我想查询User模型中具有特定访问标记的所有Access模型。

我是否可以通过Eager加载来完成此操作,我知道可以通过User模型中的属性进行过滤,但如何根据Access模型中的属性进行过滤。

提前致谢

2 个答案:

答案 0 :(得分:5)

我找到了解决方案。你可以这样做

User.findAll({
    include: [
       {model: Access, where: {myAttribute: 'Hansen'}}
    ]
})

看看这里:https://github.com/sequelize/sequelize/pull/1199

答案 1 :(得分:0)

使用v3.12.0,您可以执行以下查询关联:

User.findAll({
  where: {
    '$Access.myAttribute$': 'Hansen',
  },
  include: [{ model: Access }],
});

参考:https://github.com/sequelize/sequelize/issues/3095#issuecomment-149277205