1. ホーム
  2. ruby-on-rails

[解決済み] ActiveRecordのORクエリ

2022-04-13 20:43:22

質問

Rails 3 ActiveRecordでORクエリを行うにはどうしたらよいでしょうか。私が見つけた例はすべて、ANDクエリだけでした。

編集する または メソッドはRails 5から利用可能です。参照 ActiveRecord::QueryMethods

どのように解決するのですか?

使用方法 ARel

t = Post.arel_table

results = Post.where(
  t[:author].eq("Someone").
  or(t[:title].matches("%something%"))
)

出来上がったSQLです。

ree-1.8.7-2010.02 > puts Post.where(t[:author].eq("Someone").or(t[:title].matches("%something%"))).to_sql
SELECT     "posts".* FROM       "posts"  WHERE     (("posts"."author" = 'Someone' OR "posts"."title" LIKE '%something%'))