2017-01-07 75 views
0

我有付款方式型号有数据金额属性。现在我需要获取页面上本周的所有记录。我想使用某种分页方式,例如:在第一页上,我获得本周的所有记录,第二页上的记录 - 前一周的记录等。如何获得Rails的每周记录?

并且在每个页面上我需要总计金额本周和平均金额每天。

所以,我有两个问题:

  • 如何获得所有特定星期页面上的记录?
  • 如何计算本周的金额?

现在我所做的一切是阵列周和金额

def self.count_by_week 
    raw_result = group_by_week_and_state.count 

    # {['2014-12-01-2014-12-07', 'foo'] => 100, ['2014-12-01-2014-12-07', 'bar'] => 100, '...' => '...'} 

    raw_result.each_with_object({}) do |(k, v), result| 
     result[k[0]] ||= {} 
     result[k[0]][k[1]] = v 
    end 
    end 

    def self.group_by_week_and_state 
    group("#{weekday_query(0)} || \'-\' || #{weekday_query(6)}").group('amount') 
    end 

    # build sql part for day offset of week (0 => mon, 6 => sun) 
    def self.weekday_query(offset) 
    "to_char(cast(date_trunc(\'week\', created_at) as date) + #{offset}, \'YYYY-MM-DD\')" 
    end 

回答

相关问题