我正在尝试使用sequelizejs进行关联的过滤查询。
synario如下,
我有一个User
模型,其中包含几个属性和Access
模型,该模型与User
具有一对一关系,其映射如下
User.hasOne(Access);
现在,我想查询User
模型中具有特定访问标记的所有Access
模型。
我是否可以通过Eager加载来完成此操作,我知道可以通过User
模型中的属性进行过滤,但如何根据Access
模型中的属性进行过滤。
提前致谢
答案 0 :(得分:5)
我找到了解决方案。你可以这样做
User.findAll({
include: [
{model: Access, where: {myAttribute: 'Hansen'}}
]
})
答案 1 :(得分:0)
使用v3.12.0
,您可以执行以下查询关联:
User.findAll({
where: {
'$Access.myAttribute$': 'Hansen',
},
include: [{ model: Access }],
});
参考:https://github.com/sequelize/sequelize/issues/3095#issuecomment-149277205