RailsのActive Recordのwhere条件で、「複数カラムのどれかに一致していればOK」という条件を作る方法です。たとえば、性カラムと名カラムが別れたUserに対して、どちらでもいいので検索文字がヒットしてほしいというパターンのwhere条件です。
🎂 検索対象のカラムが固定されている場合(静的)
Userテーブルが、次のような定義だったとします。
User id: integer family_name: string first_name: string created_at: datetime updated_at: datetime
すでにOR条件の対象となるカラムが固定されている場合は、次のようなコードになります。
class User < Active Record::Base |
🚕 検索対象のカラムを動的に変更したい場合
OR条件での検索対象のカラムを動的に変更する場合のコードは次のとおりです。
class User < ActiveRecord::Base |
Arelで動的にWHERE文のOR条件を組み合わせます。
🏈 参考リンク
説明は以上です。いかがだったでしょうか?
もし、説明がわかりにくかったり、間違っている場所があればぜひ一言!