ActiveRecordのwhereの書き方

whereって気にもせずに書いていたので、色んな書き方があると知りました。 備忘録として書いておきます。

一致しているものがあるかどうか

Post.where(body: 'hoge', id: 1)
Post.where('body = ? and id = ?', 'hoge', 1)

○○以上、以下

Post.where('id >= ?',  2)
Post.where('id <= ?',  2)

あいまい検索

Post.where('body like ?', '%hoge%')

あいまい検索をつなげてみる

Post.where('body like ? and id = ?', "%hoge%", 1)

まとめ

単純なものしか書いておありませんが、文字検索はlikeを使うことになると思うので、覚えておいて損はないです。