我有以下模型关系:
class Author
has_many :posts
end
class Post
belongs_to :author
has_many :comments
end
class Comment
belongs_to :post
end
我为作者提供了“有效”的布尔列,为帖子提供了“已发布”。
我想查找author.active:true和post.published:true
的所有评论有人可以帮帮我吗?我可以通过使用连接语句(Post模型中的此代码)从author.active:true获取作者的所有帖子:
joins(:author).where(authors: {active: true})
但我似乎无法弄清楚如何获取所有评论,其中author.active:true和post.published:true。
答案 0 :(得分:2)
这应该有效
Comment.joins(:post => :author).where("authors.active = true AND posts.published = true" )
或
Comment.joins(:post => :author).where(:post => {:published => true, :author => {:active => true}})