У меня есть следующий запрос, который подсчитывает количество посещений домохозяйства делает каждый месяц в мое агентствоРубин на Rails подсчет объектов в пределах объектов
visits.by_month(@month).select("DISTINCT(household_id)").count
Это возвращает число домохозяйств, приезжает каждый месяц
Но у каждого домохозяйства есть много соседей в отдельной модели, поэтому: hous.neighbors.count дает мне количество соседей в доме, но я хочу, чтобы все соседи для всех домашних хозяйств
Другими словами, я хочу, чтобы подсчет всех соседей для всех h ouseholds, которые посетили в определенном месяце и их возраст:
В моей модели соседей у меня есть простор для моих возрастных групп:
scope :young, where('age < 19')
scope :middle, where('age > 18 && age < 66')
scope :old, where('age > 65')
Как вернуть количество соседей, посещающих каждый месяц по возрастным группам ?:
или:
Jones Household {Bob: 14, Sally: 30, Stan: 80}
Smith Household {Ben: 30, Sue 15}
Total Households 2
Total Neighbors served: 5
Total Young Neighbors: 2
Total Middle Neighbors: 2
Total Old Neighbors: 1
Я начал с этим, но это не так:
visits.by_month(@month).select("DISTINCT(household_id)").each.neighbors.count
Любые идеи о том, как это сделать?
Я согласен, что это был неясный вопрос, поэтому я уточнил его - надеюсь, это поможет – tbrooke
Я думаю, что ответ заключается в переводе запроса на запрос соседей с чем-то вроде neighbors.where (: h_id =>: houshold_id) .young. подсчитывать – tbrooke