tôi có mã nàyRails ActiveRecord: tham gia với LEFT JOIN thay vì INNER JOIN
User.find(:all, :limit => 10, :joins => :user_points,
:select => "users.*, count(user_points.id)", :group =>
"user_points.user_id")
mà tạo ra sau 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
là nó có thể làm cho LEFT JOIN thay vì INNER JOIN cách nào khác hơn User.find_by_sql
và gõ thủ công truy vấn?
vĩ đại, chính xác những gì tôi đang tìm kiếm –
Đó là OK, nhưng những gì đang Jakub thực sự mong đợi với điều đó? Người dùng không có điểm? Nếu vậy, tôi nghĩ nó cần một 'WHERE user_points.user_id IS NULL', phải không? –
@Kylo là có một cấu trúc trong đường ray để tạo ra tham gia trái mà không cần gõ vào một chuỗi? – BKSpurgeon