【发布时间】:2012-01-06 06:56:24
【问题描述】:
好的,我正在对 Rails 中的关联进行内部连接,如下所示:
@visits = @customer.visits.joins(:messages).select("distinct(visits.id)")
这将返回唯一的访问 ID,但是我想循环访问这些访问,并访问其关联(每次访问也附加了一个 merchant_id)。这个内部连接的问题是只返回 id 所以当我做这样的事情时:
@visits.each do |v|
merchant = v.merchant
end
我最终得到了一个 nil 类。
如何根据唯一的 visit.id 选择“访问”,同时返回该行中的所有其他列?分组?
【问题讨论】:
-
看起来我实际上可以使用 .group("evisits.id") 而不是 select 语句来做到这一点。稍后我会将此作为答案发布,但我很想听听其他人怎么说。
标签: sql ruby-on-rails activerecord ruby-on-rails-3.1 inner-join