railsのwhere検索で名前つきplaceholderを使う

User.where("email LIKE ? OR username LIKE ?", '砂糖', '太郎')

2つくらいなら?でplaceholderでも問題ない気はします。でも、これが3つとか4つになってくるとわかりづらいです。

User.where("(fooable = :true AND foo_id = :foo_id) OR (barable = :true AND bar_id = :bar_id)", true: true, foo_id: 123, bar_id: 456)

そんなときはこんな感じで書けば、placeholderに名前をつけられて、みやすくなります!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です