🌊
Railsでキーワード検索をlike句で行う際の記述
株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。
DXプロジェクト、開発プロジェクト、Rails開発などでお困りごとがありましたら弊社HPからご相談をいただけますと幸いです。
以下のような問題に対応することが可能です。
- プロジェクトでRailsエンジニアが足りなくて困っている
- Railsのバージョンアップをしたいがノウハウ・リソースが足りなくて困っている
- オフショア開発をしているが、要件の齟齬やコード品質が悪いので改善したい
また、Railsエンジニアも募集しておりますので、興味がありましたら弊社HPからご連絡いただけますと幸いです。
前提
毎回検索していると思ったので記事にしました。
2つの書き方ができることがわかったので、どちらか好きな方を選んで使う形になりそうです。
実装方法
searches_controller.rb
# searches_controller.rb
keyword = params[:keyword]
# これでも検索できる
users = User.where("first_name LIKE ?", "%#{keyword}%").
or(where("last_name LIKE ?", "%#{keyword}%"))
# これでも検索できる
users = User.where("first_name like :word or last_name like :word", word: "%#{keyword}%")
Discussion