私は2つのモデルAとBを持っています:
A has_one B
したがって、A のすべてのインスタンスを B のインスタンスの ID に関連付ける外部キーを A に追加しました。
A.find() を使用して、B の特定の属性 (たとえば B.name) を持つ B のインスタンスに関連付けられている A のすべてのインスタンスを取得するにはどうすればよいですか?
これは2つのテーブル間のSQL結合で実行できることは知っていますが、RORでこれを行うエレガントな方法はありますか?
私は2つのモデルAとBを持っています:
A has_one B
したがって、A のすべてのインスタンスを B のインスタンスの ID に関連付ける外部キーを A に追加しました。
A.find() を使用して、B の特定の属性 (たとえば B.name) を持つ B のインスタンスに関連付けられている A のすべてのインスタンスを取得するにはどうすればよいですか?
これは2つのテーブル間のSQL結合で実行できることは知っていますが、RORでこれを行うエレガントな方法はありますか?
適切な関連付けが設定されていると仮定します。
time_range = (Time.now.midnight - 1.day)..Time.now.midnight
Client.joins(:orders).where(:orders => {:created_at => time_range})
has_one
関連付けには、所属モデルの外部キーが必要です。RailsGuides をご覧ください - http://guides.rubyonrails.org/association_basics.html#the-has_one-association