RailsでwhereでIN句を使ってレコードを検索する
where で条件を指定するカラムに配列を渡すことでIN句で配列内の値にマッチするレコードを取得できる。
オブジェクト.where(カラム名: [検索条件の配列])
code: (ruby)
# 検索条件用の配列
ids = 1,2,3
=> 1, 2, 3
# idsを元にUserを検索
User.where(id: ids)
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (?, ?, ?) "id", 1], "id", 2, ["id", 3
=>
[#<User id: 1, ...>,
#<User id: 2, ...>,
#<User id: 3, ...>,]
検索条件用の配列を元にしたIN句が追加されたSQLが発行される。
【Rails】 whereメソッドを使って欲しいデータの取得をしよう! | Pikawaka
Railsのfind系メソッド
#Rails
#SQL