我有三个模型User,Group,UserGroup。用户和组通过UserGroup模型有许多关系。 我希望获得包含所有组成员的组,但也只希望用户属于其中的那些组。这是我的续集查询。
Group.findAll({
include: ['members'],
where: {
'$members.id$': user_id
}
});
使用上述代码中的where条件,将根据user_id对组进行过滤。即。它返回与用户模型相关的组,其ID等于user_id。但是此查询并未提供所有成员。它只会返回一个ID等于user_id的用户。这意味着“ where”条件不仅在过滤组,还在过滤组成员。
这是我的协会
Group.hasMany(UserGroup, {as: {singular: 'usergroup', plural: 'usergroups'}, foreignKey: 'group_id'});
Group.belongsToMany(User, {as: {singular: 'member', plural: 'members'}, through: UserGroup});
UserGroup.belongsTo(User, {as: 'member', foreignKey: 'user_id'});
UserGroup.belongsTo(Group, {as: 'group', foreignKey: 'group_id'});
答案 0 :(得分:1)
您可以尝试一下,让我知道:)
select id, attrib, attrib_value from table where attrib=Router