4

Rails 3でActiveRecordを使用して、2つの異なるデータベースの2つの異なるテーブルからデータをプルしています。これらのデータベースは相互に結合できませんが、事後に単純な結合を行う必要があります。関係を維持して、それを連鎖させることができるようにしたいと思います。

これが私がしていることの簡略版です

browsers = Browser.all # <-- this is fairly small and can reside in memory
events = Event.where(:row_date=>Date.today).select(:name, :browser_id)

ご覧のとおり、私は関係に参加browsersしたいと思います。はリレーションであり、後で句を追加できるので、まだデータベースでクエリを実行したくありません。どうすればこれを達成できますか?eventsbrowser_idbrowsers.nameevents

編集

私が以下で受け入れた答えのコードを見たい人のために、これが私が思いついたものです:

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
4

2 に答える 2

2

:includeを使用してこれを実現します。Rubyでこれを行おうとすると、悲しみ以外の何物にもなりません。インクルードにチェーンすることもできます。

于 2010-06-08T18:15:02.627 に答える