在rails3中的连接查询中获取不同的记录

时间:2012-03-26 14:24:10

标签: ruby-on-rails activerecord

一篇文章有​​很多评论,我想获取所有评论都符合条件的文章。

Article.find(:joins => :comments ...) 

获取重复记录 和

Article.find(:include => :comments ...) 

还会获取Comment数据,我只想获取uniq文章数据

2 个答案:

答案 0 :(得分:9)

您可以尝试使用

Article.select("DISTINCT articles.*").joins(:comments).where(...)

或您正在使用的语法

Article.find(:all, :joins => :comments, :select => 'DISTINCT articles.*' ...) 

答案 1 :(得分:1)

例如,您正尝试使用当前用户的评论获取所有文章

Article.joins(:comment).where(:comment => {author: current_user.id}).group_by("comments.article_id")