我正在尝试计算有狗的用户。
User.joins(:pets).where("pets.type = ?", :dog).count
这将返回用户+他们的狗组合的计数,而我只想要实际用户的数量。
我做错了什么?
我还尝试使用上述查询获取用户,并根据他们拥有的狗数重复多次重复相同用户的数组。
答案 0 :(得分:1)
答案 1 :(得分:0)
连接将返回用户具有多个关联的所有重复行...
例如,如果用户,U1有一只狗和用户,U2有两只狗,那么连接将返回总共三行....所以不要使用连接,而是尝试使用包含选项... < / p>
请参阅此Railscast,http://railscasts.com/episodes/181-include-vs-joins了解更多信息......