【发布时间】:2010-06-08 15:17:43
【问题描述】:
我在 Rails 3 中使用 ActiveRecord 从两个不同数据库中的两个不同表中提取数据。这些数据库不能相互连接,但我需要在事后进行简单的连接。我想保留这个关系,这样我就可以把它串起来。
这是我正在做的简化版
browsers = Browser.all # <-- this is fairly small and can reside in memory
events = Event.where(:row_date=>Date.today).select(:name, :browser_id)
如您所见,我想将browsers 加入events 关系中,其中browser_id 应该等于browsers.name。 events 是一个关系,我仍然可以在其中添加子句,所以我还不想在数据库上运行查询。我将如何做到这一点?
编辑
对于那些希望看到我在下面接受的答案的代码的人,这是我想出的:
class EventLog < ActiveRecord::Base
belongs_to :browser
def get_todays_events
Event.where(:row_date=>Date.today).select(:name, :browser_id).includes(:browser)
end
end
让我通过以下方式获取浏览器名称
get_todays_events.browser.name
【问题讨论】:
标签: ruby-on-rails ruby activerecord ruby-on-rails-3 activemodel