Wie filtere ich die Ergebnisse einer AR-Abfrage, ohne eine zusätzliche Abfrage auszuführen?Filtern auf ActiveRecord-Beziehung ohne zusätzliche SQL-Abfrage?
z.B.
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
Ich will nicht die zweite Abfrage der DB rufen, sondern filtern auf den abgerufenen Ergebnisse in u (erste Abfrage).
Die Konsole ruft 'inspect' auf das zurückgegebene Objekt und druckt diese aus. Die Methode inspect für "ActiveRecord :: Relation" ruft "to_a" http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-inspect auf, welches die Datensätze http: // api lädt und zurückgibt .rubyonrails.org/classes/ActiveRecord/Relation.html # method-i-to_a, führt also bereits die erforderlichen Abfragen durch. – kristinalim
Auch verwende ich '; nil' statt anhängen '; p 1 ". Nur '; 1 'wäre eigentlich schon ausreichend. – kristinalim
@kristinalim wahr und besser – tihom