Sử dụng một Truy vấn chọn lọc
Tài khoảnAccount.
joins(schedules: :impressions).
select("accounts.name as account_name,
schedules.date as schedule_date,
schedules.summary as schedule_summary,
count(impressions.id) as schedule_impression_count" ).
group("accounts.name,schedules.date,schedules.summary")
Nếu thực hiện điều đó trong một truy vấn duy nhất thì các đối tượng sẽ trả lời bí danh cột 'như schedule_date
và schedule_impression_count
Nếu bạn cần sử dụng các đối tượng này cho các dữ liệu khác trong cùng một chế độ xem thì Account.eager_load(schedules: :impressions)
cũng sẽ hoạt động và cũng sẽ thực hiện một truy vấn duy nhất.