【发布时间】:2012-04-28 22:50:10
【问题描述】:
假设我在用户和消息之间有一个 has_many 关系。
我想设置一个范围,以便能够根据他们发布的最后消息中包含内容的用户来过滤用户。所以只在每个用户的最后一条消息中搜索。
下面我得到了所有消息中的结果...
class Contact < ActiveRecord::Base
has_many :messages
scope :filter_by_last_messages, lambda { |value|
joins(:messages).where("messages.content = ?", value)
}
end
【问题讨论】:
-
我不认为如果没有 sql 中的子查询你可以做到这一点......
标签: ruby-on-rails activerecord scope has-many