0

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

对象具有 created_at 属性。

4

2 回答 2

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}
于 2013-06-12T11:36:54.430 回答
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
于 2013-06-13T09:31:34.260 回答