where句の使い方
今回のお題
今回のお題はwhere句の使い方です。
Railsアプリの作成中に、where句の使い方についてわからなかった部分があったので、備忘録としてまとめておきます。
基本の使い方
where句の構文を一般化すると、以下のようになります。
Model.where("カラム名 演算子 ?", 比較対象)
例1
User.where("name = ?", "太郎")
ユーザー名が"太郎"であるものを検索します。
例2
Book.where("title LIKE ?", "%歴史%")
タイトルに"歴史"と入っているものを検索します。
例3
User.where("age >= ?", 30)
30歳以上のユーザーを検索します。
補足:= 検索の省略形
= 検索、すなわちカラムの値があるものと等しいレコードを検索する場合には、whereメソッドを簡略化して書くことができます。
省略形
User.where(name: "太郎")
見ることが多いのはむしろこちらではないでしょうか。
まとめ
以上がwhereメソッドの基本形です。
個人的には、?を使うのが基本形で = の時だけ省略形が使える、というように考えると覚えやすくなった気がします。