Utiliser une requête de sélection
Account.
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")
Devrait le faire en une seule requête, puis les objets répondront à l'alias de colonne comme schedule_date
et schedule_impression_count
Si vous avez besoin d'utiliser ces objets pour d'autres données dans la même vue, alors Account.eager_load(schedules: :impressions)
devrait également fonctionner et exécutera également une seule requête.