我有以下查询,计算一个家庭每月访问我的代理机构的次数
visits.by_month(@month).select("DISTINCT(household_id)").count
这将返回每月访问的家庭数量
但是每个家庭在一个单独的模型中有许多邻居,所以:family.neighbors.count 给了我家庭中的邻居数,但我想要所有家庭的所有邻居
换句话说,我想要计算在特定月份访问过的所有家庭的邻居总数及其年龄:
在我的邻居模型中,我有适合我年龄组的范围:
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
关于如何做到这一点的任何想法?