【发布时间】:2010-01-18 19:41:35
【问题描述】:
我正在使用 Rails 2.3.5。
这是标准情况。表是:users、cmets、user_cmets。我需要找到所有状态为“活动”并至少发表了一条评论的用户。
我知道 cmets 表可以有外键,但这是一个人为的例子。表中有两个用户。有两个厘米。这两个 cmets 都是由第一个用户发布的。
named_scope :with_atleast_one_comment, lambda { {
:joins => 'inner join user_comments on users.id = user_comments.user_id ' } }
named_scope :with_active_status, {:conditions => {:status => 'active'} }
当我执行时
User.with_atleast_one_comment.with_active_status
我得到了两条记录。由于两个 cmets 都是由一位用户发布的,因此我只需要一位用户。
解决方法是什么?
【问题讨论】:
标签: ruby-on-rails activerecord