カテゴリ: Ruby
記事投稿日: 2012年12月20日
記事更新日: 2012年12月20日
アソシエーションしていないテーブルの
検索結果を元に検索を行う場合
(あまりそういう事例には出くわしたくないものですが…)。
IN句を使いたいのですが、手持ちの教本には
載っていなかったので調べました。
プレースホルダを使って指定するようです。
分かれば簡単ですね。
# ユーザーのライセンス情報を取得
@a_table = @user.license_flgs
# IN句に挿入する配列を準備
@in_string = Array.new(0, nil)
# ユーザーのライセンス情報のIDを抽出して配列に格納
@a_table.each do |sdk|
@in_string.push(sdk.id)
end
# プレースホルダを指定
@products = Product.where('id IN(?)', @in_string).group('etype, ver')
コメントを残す