我是 Rails 新手,一直在阅读各种书籍和教程。我有一个简单的(ish)设置,下面的模型和模式。我正在尝试获取用户详细信息以及 usergroup_membership ID。我想我已经为我想要实现的目标正确设置了我的模型(关系就像它们出现的那样,用户通过 usergroup_memberships 属于组 - 没什么特别的)。使用“rails db”,我可以使用原始 SQL 来获取我需要的记录集,但我不知道如何使用 Rails 方式进行操作。
我的基础课
Class User
has_many :usergroup_memberships
has_many :usergroups, :through => :usergroup_memberships
Class Usergroup
has_many :usergroup_memberships, :dependent => :destroy
has_many :users, :through => :usergroup_memberships
Class UsergroupMembership
belongs_to :usergroup
belongs_to :user
有效的 SQL
SELECT users.*, usergroup_memberships.id
FROM users
LEFT JOIN usergroup_memberships ON usergroup_memberships.user_id = users.id
WHERE usergroup_memberships.usergroup_id = 1;
上面的 SQL 很好,并返回最后标记了加入的 usergroup_memberships.id 的记录集。非常感谢有关如何通过 Rails 解决此问题的任何帮助或文档。