Ruby on Rails でIN句を使う方法

カテゴリ: 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')









コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA




トップに戻る