19
追加クエリを実行せずにARクエリの結果をフィルタリングするにはどうすればよいですか?追加のSQLクエリを使用しないactiverecordリレーションに対するフィルタリング?
u = User.where(name: "bob", age: [10, 20])
# 1st select query to db
u.class # ActiveRecord::Relation
tens = u.where(age: 10)
# 2nd select query to db
2番目のクエリでdbを呼び出すのではなく、u(1番目のクエリ)で取得した結果をフィルタリングします。
コンソールが返されたオブジェクトの 'inspect'を呼び出し、これを出力します。 'ActiveRecord :: Relation'の' inspect'メソッドはレコードhttp:// apiをロードして返す 'to_a' http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-inspectを呼び出します.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-to_aを実行して、すでに必要なクエリを実行しています。 – kristinalim
また、私は '; 'nil'を追加するのではなく; p 1 'である。ちょうど '; 1 'は実際には既に十分である。 – kristinalim
@kristinalimが真実であるといいます – tihom