🖥

#Rails + #MySQL で where と or 条件を連結させるのが冗長なので何もしないダミーの where 句を作ってみる

2019/07/03に公開

where('false') を最初に書く。

User
  .where('false')
  .or(User.where(id: 1))
  .or(User.where(id: 2))
  .or(User.where(id: 3))

上のクエリ自体は特に意味のない例。

生成されるクエリはこんな感じ。

SELECT `users`.* FROM `users` WHERE ((((false) OR `users`.`id` = 1) OR `users`.`id` = 2) OR `users`.`id` = 3)

なんかネストが微妙な気がするけどOR条件だし構わないでしょ。多分。

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2239

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-07-03

Discussion