Ruby on Rails でアプリ開発中です。
SQLのCASE文を使いたいのですが、ActiveRecordに条件分岐ができるクエリメソッドは存在するのでしょうか?
以下のSQLを想定しています。
SQL
1SELECT 2 OWNER.ID, 3 OWNER.PET_ID, 4 CASE DOG.ID 5 WHEN NULL THEN OWNER.UPDATED_AT 6 ELSE DOG.UPDATED_AT 7 END 8FROM 9 OWNER 10 LEFT OUTER JOIN 11 DOG 12 ON 13 OWNER.PET_ID = DOG.ID
一応以下のように書いたのですが、case文の部分でエラーになります。
ActiveRecord
1Owner.left_joins(:dogs) 2 .select(" 3 owners.id, 4 owners.pet_id, 5 case dog.id: nil 6 when owner.updated_at 7 else dogs.updated_at 8 end 9 ")
ActiveRecordのクエリメソッドにはCASE等の条件文は無いのでしょうか?教えていただきたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。