Railsで子要素の値を検索条件に利用する

普通にconditionsで指定できたのかもしれませんが、ちと書き方がわからなかったのでjoinを利用しました。まぁfind_by_sqlを利用していないだけRailsっぽい(w)と思いましょう。

Foo.find(:all, :joins => “left join bar on foo.id = bar.foo_id”, :conditions => [“bar.column = ?”,value])

これで子要素(bar)のcolumnの値が「value」の親子(Foo、Bar)が取得できます。もっとうまいやり方があるのかもしれませんが、ハセテツはこういう書き方をしてます。