Rails ActiveRecord: Joins mit LEFT JOIN anstelle von INNER JOIN
Habe ich diesen code
User.find(:all, :limit => 10, :joins => :user_points,
:select => "users.*, count(user_points.id)", :group =>
"user_points.user_id")
generiert folgenden sql
SELECT users.*, count(user_points.id)
FROM `users`
INNER JOIN `user_points`
ON user_points.user_id = users.id
GROUP BY user_points.user_id
LIMIT 10
ist es möglich, LEFT JOIN anstelle von INNER JOIN andere Möglichkeit, als User.find_by_sql
und Händisch eingeben der Abfrage?
InformationsquelleAutor der Frage Jakub Arnold | 2009-10-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, diese
InformationsquelleAutor der Antwort Kylo
Nur für zukünftige Referenz hinzufügen
:all
gibt eine veraltete Nachricht. In späteren Versionen von rails können Sie einfach die Kette die Methoden wie folgt:ODER verwenden Sie eine Umfang wie diese:
Können Sie auch die Kette
.where
zwischen den.join
und die.select
.Hoffe, das hilft jemand in der Zukunft.
InformationsquelleAutor der Antwort 8bithero
Schienen 5 hat eine left_outer_joins Methode. So können Sie tun,
oder verwenden Sie den alias
InformationsquelleAutor der Antwort Santhosh