Ruby on rails 通过关联查询ActiveRecord

Ruby on rails 通过关联查询ActiveRecord,ruby-on-rails,activerecord,associations,Ruby On Rails,Activerecord,Associations,我有一个用户模型和组模型。用户有且属于多个:组,组有且属于多个:用户 我想使用ActiveRecord查询某个用户所在的所有组中的所有用户。我可以通过@user.groups获取所有组,并手动将@user.groups.members连接在一起,消除我可以找到的重复项(一个用户可能与另一个用户在多个组中,但我只需要另一个用户的名称一次) 但是有没有更好的方法呢?你应该可以这样做: User.includes(:groups).where("groups.id in (?)", @user.gro

我有一个用户模型和组模型。用户有且属于多个:组,组有且属于多个:用户

我想使用ActiveRecord查询某个用户所在的所有组中的所有用户。我可以通过@user.groups获取所有组,并手动将@user.groups.members连接在一起,消除我可以找到的重复项(一个用户可能与另一个用户在多个组中,但我只需要另一个用户的名称一次)


但是有没有更好的方法呢?

你应该可以这样做:

User.includes(:groups).where("groups.id in (?)", @user.group_ids)

你能发布你的实际型号代码吗?很难判断您使用的是
属于
,还是
拥有(u)和(u)属于(u许多)
)或其他什么。哎呀,对不起。更新了问题。他们都使用has_和own属于很多。