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
我不想第二個查詢調用數據庫,而是過濾在u(第一個查詢)中檢索到的結果。
。檢查'ActiveRecord :: Relation'的方法調用'to_a'加載並返回記錄的方法http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-inspect http:// api .rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-to_a,因此已經執行了所需的查詢。 – kristinalim
另外,我使用'; nil'而不是追加'; p 1'。只是'; 1'實際上已經足夠了。 – kristinalim
@kristinalim真實和更好 – tihom