【问题标题】:Data mapper - count objects uploaded on specific date数据映射器 - 计算在特定日期上传的对象
【发布时间】:2013-06-08 11:35:23
【问题描述】:

我正在构建一个简单的应用程序,我想向管理员显示一些简单的统计数据。我想知道是否可以从数据库中获取使用 datamapper 在同一日期创建的对象的数组,还是我必须手动浏览记录并计算它们?

对象具有 created_at 属性。

【问题讨论】:

    标签: ruby sinatra datamapper


    【解决方案1】:

    所以我设法解决了它,我不知道它是否是正确的方法,但它有效

    days = Array.new
    count = Array.new
    
    photos_per_day = Photo.aggregate(:all.count, :upload_date)
    photos_per_day.each do |ppd|
      count.push(ppd[0])
      days.push(ppd[1].day.to_s + " " + Date::MONTHNAMES[photo[1].month])
    end
    
    {:days => days, :count => count}.to_json
    

    【讨论】:

      【解决方案2】:

      试试这个:-

      假设您要统计在特定日期创建的用户数。

         User.group('date(created_at)').count
      
        => {"2013-05-20"=>66,
       "2013-05-07"=>46,
       "2013-05-17"=>9,
       "2013-05-13"=>28,
       "2013-05-22"=>22,
       "2013-05-15"=>43,
       "2013-05-08"=>32,
       "2013-06-12"=>2,
       "2013-05-28"=>22,
       "2013-05-16"=>35,
       "2013-05-09"=>33,
       "2013-05-10"=>132,
       "2013-05-21"=>5,
       "2013-05-14"=>38,
       "2013-05-11"=>4}
      

      【讨论】:

      • 实际上我想计算所有日期创建的所有照片...所以我可以向用户显示每天上传了多少张照片...实际上我设法解决了这个问题,但感谢您回答
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      • 2016-12-04
      • 2015-01-10
      • 1970-01-01
      相关资源
      最近更新 更多