我正在构建一个简单的应用程序,我想向管理员显示一些简单的统计信息。我想知道是否有可能从数据库获取使用datamapper在同一日期创建的对象计数数组,或者我是否必须手动浏览记录并计算它们?
对象有created_at属性。
答案 0 :(得分:0)
试试这个: -
假设您要计算在特定日期创建的用户。
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}
答案 1 :(得分:0)
所以我设法解决了它,我不知道它是否是正确的方法,但它的工作原理
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