我看到的所有示例,包括文档建议按关联过滤应使用以下语法
[contrived exampled]
User.findAndCountAll({
include: [
{
model: models.Task,
as: 'tasks',
where: {
status: 'complete'
},
},
],
})
但是这种样式将包括完成的任务。如果要按关联过滤而不包括关联记录怎么办?我不是在谈论事后使用toJSON
。但在查询级别。
答案 0 :(得分:1)
a)如果要查看用户至少具有一项任务,则可以删除(可选)WHERE子句。 b)如果不需要,可以隐藏任务属性(如下所示)。
User.findAndCountAll({
include: [
{
model: models.Task,
required : true, // INNER JOIN....
attributes: [] // no task fields shown in result...
}
]
);