Rails一对多的嵌套查询

模型:

class User < ActiveRecord::Base
  has_may :friends
end

class Friend < ActiveRecord::Base
  belongs_to :user
end

数据库:

Tables Image

查询:

同时拥有:

friends.name = "Lily" 以及 friends.name = "Steven"

User(本问题的结果应该可以查出User表的12)。

我想通过模型查询来实现:

User.joins(xxx).where(xxx)

请问有这样的方法吗?

阅读 3.5k
2 个回答
User.joins(:friends).where(friends: {name: "Lily"}) & User.joins(:friends).where(friends: {name: "Steven"})

上面大神写的很全

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题