2011-08-15 2 views
1

ここでRails 3を使って作業する。Ruby on Railsで複数のコレクションとその関連モデルのサブセットを返すには?

私は多くのアドレスを持っており、次のような多くの接点を持っている「従業員」という名前のモデルを持っている:私は何をしたいに沿った特定の従業員を返す、単一のクエリを記述することができることです

class Employee < ActiveRecord::Base 
has_many :addresses 
has_many :contacts 

指定された日付の後に作成されたすべてのアドレスと、同じ日付以降に作成されたすべての連絡先が表示されます。これが可能であれば、私はどのようにそのような陳述書を作りますか?

私のようなアドレスや連絡先のモデルで定義されたスコープを持っている:

scope :created_after, lambda { |date_time| where('created_at >= ? or updated_at >= ?', date_time, date_time} 

...しかし、私は従業員を返す単一のクエリを作るための方法とのフィルタのサブセットを思い付くことができません各コレクションは1つの賞金に収められています。どのように効率的に行うかについてのアイデアは高く評価されます。おそらく、

答えて

0

-wg

おかげのようなもの:

Employee.find(specific_user_id, 
       :joins => :addresses, 
       :conditions => { 
       :addresses => ["created_at >= ? OR updated_at >= ?", time, time] 
       } 
) 
関連する問題