0

私は2つのモデルAとBを持っています:

A has_one B

したがって、A のすべてのインスタンスを B のインスタンスの ID に関連付ける外部キーを A に追加しました。

A.find() を使用して、B の特定の属性 (たとえば B.name) を持つ B のインスタンスに関連付けられている A のすべてのインスタンスを取得するにはどうすればよいですか?

これは2つのテーブル間のSQL結合で実行できることは知っていますが、RORでこれを行うエレガントな方法はありますか?

4

2 に答える 2

1

適切な関連付けが設定されていると仮定します。

time_range = (Time.now.midnight - 1.day)..Time.now.midnight
Client.joins(:orders).where(:orders => {:created_at => time_range})

これはActive Record Querying ガイドからのものです。

于 2012-08-27T04:49:44.007 に答える
0

has_one関連付けには、所属モデルの外部キーが必要です。RailsGuides をご覧ください - http://guides.rubyonrails.org/association_basics.html#the-has_one-association

于 2012-08-27T04:25:30.330 に答える