我有一个用户模型和组模型。用户has_and_belongs_to_many:groups和group has_and_belongs_to_many:users。
我想使用ActiveRecord查询某个用户所在的所有组中的所有用户。我可以通过@ user.groups获取所有组,并手动连接@ user.groups.members,消除重复项我可以找到(用户可能与其他用户分在多个组中,但我只想要其他用户的名称一次)。
但有更好的方法吗?
答案 0 :(得分:4)
你应该可以这样做:
User.includes(:groups).where("groups.id in (?)", @user.group_ids)