カテゴリ: Ruby
記事投稿日: 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')
コメントを残す