whereメソッドとは?
テーブル内の条件に一致したレコードを配列の形で取得することができるメソッド。
コントローラー
モデル名.where("条件")
基本的な記述方法
whereメソッドはシンボル指定と文字列指定がある。
①シンボル指定
コントローラー
モデル名.where(カラム名: 条件)
# usersテーブルのnameカラムから「太郎」という文字が入っているレコードを全て取得する場合
User.where(name: "太郎")
①文字列指定
コントローラー
モデル名.where("カラム名 = 条件")
# usersテーブルのnameカラムから「太郎」という文字が入っているレコードを全て取得する場合
User.where("name = '太郎'")
様々な検索方法・複雑な指定方法
①比較して条件を定義する方法
コントローラー
User.where("id > ?", 5)
# idが5以上のレコードを全て取得できる。
②複数カラム指定でのAND検索方法
コントローラー
User.where(name: "太郎", age: 25)
# nameカラムが「太郎」かつageカラムが「25」のレコード全てを取得できる。
③複数カラム指定でのOR検索方法
コントローラー
User.where(name: "太郎").or(User.where(age: 25))
# nameカラムが「太郎」またはageカラムが「25」のレコード全てを取得できる。