Wie verkettet Rails ActiveRecord "where" -Klauseln ohne mehrere Abfragen?

Ich bin ein PHP-Entwickler, der die Faszination von Ruby on Rails lernt. Ich liebe ActiveRecord und habe etwas wirklich Interessantes bemerkt. So erkennen ActiveRecord-Methoden das Ende der Methodenkette, um die Abfrage auszuführen.

@person = Person.where(name: 'Jason').where(age: 26)

# In my humble imagination I'd think that each where() executes a database query
# But in reality, it doesn't until the last method in the chain

Wie funktioniert diese Zauberei?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage