極めようarel
- activerecordで限界を感じたら、arelを使うか、Sequelなどを使うしかない。
- わたしはSequelを使うのがおすすめだが、レガシシステムや、外部gemとの連動でSequelを使えない場合は結構ある
なので、arelも必須で知っておくべき。 しかし、コードはやはり読みづらくなるので、おすすめはできない。
NOT NULL & IS NOT NULL
Hoge.where(arel_table[:fuga].not_eq(nil))
Hoge.where(arel_table[:fuga].eq(nil))
subqueryのjoin
References
- RailsのArelのTips
- 既存のscopeからor条件のSQLを組み立てる
- ActiveRecord4でこんなSQLクエリどう書くの? Arel編
- Arelでクエリを書くのはやめた方が良い5つの理由(Rails 5.0以前の場合)
- まあ、でもsubquery作るにはarelしかないでしょう。