class Visitor
has_many :sessions
end
class Session
belongs_to :visitor
belongs_to :site
end
class Site
has_many :sessions
end
Run Code Online (Sandbox Code Playgroud)
我希望能够每天获得一个网站的访问者数量.由于访问者不是直接与某个网站相关联,而是会话,我需要获取特定网站的所有会话,按天分组,然后按visitor_id分组.这是一些示例数据(按created_at ASC排序):
visitor_id site_id created_at
6 3 2011-09-27
6 3 2011-09-27
7 3 2011-09-27
2 3 2011-09-29
7 3 2011-09-29
Run Code Online (Sandbox Code Playgroud)
理想情况下,我应该看到在09/27有2个独特的访客,并在09/29还有2个独特的访客.我试过这个:
Session.group('date(created_at)').group('visitor_id').size
Run Code Online (Sandbox Code Playgroud)
但我得到了这个(这是不正确的):
# => {Tue, 27 Sep 2011=>3, Thu, 29 Sep 2011=>2}
Run Code Online (Sandbox Code Playgroud)
多谢你们!
@counts = Session.group('date(created_at), visitor_id').count
@counts.each do |(date, visitor), count|
puts "#{visitor.name} visted the site #{count} times on #{date}"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3713 次 |
| 最近记录: |