Open6

Railsでのクエリの書き方

いいづかいいづか

どうやってRailsでクエリをかく?

Active Recordに対する検索には、クエリインターフェースが用意されている。
基本Railsでは生のSQLクエリを書くことはなく、クエリインターフェースを使うことになる。
https://railsguides.jp/active_record_querying.html

Active Record クエリインターフェースとは

Active Recordに対する検索を可能としてくれるメソッド群を提供するインターフェース。
容易にわかりやすく検索ができる。
クエリインターフェースはどのDBとも互換性があるので、DBを意識せずに記述することができる。

https://railsguides.jp/active_record_querying.html

いいづかいいづか

Active Recordでクエリ実行した際の動き

  • 与えられたオプションを同等のSQLクエリに変換します。
  • SQLクエリを発行し、該当する結果をデータベースから取り出します。
  • 得られた結果を行ごとに同等のRubyオブジェクトとしてインスタンス化します。
  • 指定されていれば、after_findを実行し、続いてafter_initializeコールバックを実行します。

https://railsguides.jp/active_record_querying.html#データベースからオブジェクトを取り出す

いいづかいいづか

クエリインターフェースで扱われるクラスの種類とその違い