Hallo Mathias,
Das ist alles, da muss man nicht händisch Query-Objekte erzeugen und irgendwie vermixen. Rails erzeugt unter der Haube natürlich Arel-Queries, aber damit muss man sich nicht beschäftigen.
ich hab' reingeschaut. Vorab: ich versteh' kein Ruby. Das laut Doku entstehende SQL sah nicht überzeugend aus. ON-Klausel und JOIN-Klausel werden munter miteinander vertauscht, was bei OUTER-Joins nicht zulässig ist (vermutlich ein Dokufehler).
ORM gibt's auch für PHP, zum Beispiel Doctrine.
Freundliche Grüße
Vinzenz