今日ブログで見て、やっと!Rails にはHQLやLinqのようなものがあります。ええと、そうではありません。これについては何も見つかりませんでした。
本当に知りたいのは、テーブルの名前を忘れて、オブジェクト名だけを使用できるかどうかです。最後に結合構文を忘れることはできますか? 他のすべて(人生の目標)を忘れ始める前に、それをしたいと思います。
今日ブログで見て、やっと!Rails にはHQLやLinqのようなものがあります。ええと、そうではありません。これについては何も見つかりませんでした。
本当に知りたいのは、テーブルの名前を忘れて、オブジェクト名だけを使用できるかどうかです。最後に結合構文を忘れることはできますか? 他のすべて(人生の目標)を忘れ始める前に、それをしたいと思います。
私が理解している限り、これは、複雑なクエリを次のように記述できないことを意味します。
Object.find(:all, :conditions = > { :limit => 10, :offset => 5 }
しかし、より読みやすい方法
Object.all.limit(10).offset(5)
遅延評価と AREL 構文を使用した連鎖可能なクエリ:
これにより、条件を表すさまざまなスコープを記述し、それらを組み合わせて一致させ、連鎖させることができます...出力が必要になるまでクエリが実際に実行されないことを知っている(「遅延評価」)。
AREL の構文は、以前の「rails」構文ではなく、標準の SQL 構文に非常に近いため、SQL に慣れている人にとっては、使いやすく、認識しやすく、維持しやすいです。
詳細については、こちらをご覧ください。私は LINQ にあまり詳しくありませんが、LINQ は Django の ORM で使用されるクエリ インターフェイスに多少似ていると思います。いずれにせよ、要点は、Active Record のクエリ インターフェイスが以前よりも Django のインターフェイスに似ているということです。古い「低レベル」のクエリ メソッドの多くは廃止され、後のバージョンでは削除される予定です。