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