Rails加入多个关联搜索查询

时间:2016-08-24 06:06:38

标签: mysql sql ruby-on-rails mysql2

我有两个模型说用户和角色

假设我有3个用户“A”,“B”和“C”,我有3个角色“X”,“Y”,“Z” 并且用户的关系是has_many角色

让我们假设A有角色X,B有X,Y和C有角色X

如何修改我的查询以获得具有X和Y角色的B

这是我的查询,它返回X或Y

的用户
User.joins(:roles).where("roles.name IN (?)", ["X", "Y"])

1 个答案:

答案 0 :(得分:0)

我认为在执行下面的查询之后工作将继续,我只是看到你的代码&实现。

User.joins("LEFT JOIN roles ON roles.name = name").where(["name = 'X', 'Y'"])

注意:未经过测试