Activerecord 从数据库中获取按年份排序的记录>;月份>;白天
我有一个Activerecord 从数据库中获取按年份排序的记录>;月份>;白天,activerecord,ruby-on-rails-4,Activerecord,Ruby On Rails 4,我有一个项目模型 数据库中有许多记录填写了列created\u at。 我希望生成具有以下层次结构的视图: 2014 December 31 items here 30 items here 29 items here ... November 31 ... ... 2013 ... 最优雅的方式是什么 编辑:非常感谢您的查询。如何在RubyonRails中实现这一点?为了实现这一点,我们将按日
项目
模型
数据库中有许多记录填写了列created\u at
。
我希望生成具有以下层次结构的视图:
2014
December
31
items here
30
items here
29
items here
...
November
31
...
...
2013
...
最优雅的方式是什么
编辑:非常感谢您的查询。如何在RubyonRails中实现这一点?为了实现这一点,我们将按日期的不同部分对记录进行排序。下面的示例查询
SELECT
ItemDescription,
Year(DateField) AS Year,
Datename(mm, DateField) AS Month,
Day(DateField) AS Day
FROM tblName
ORDER BY
Year(DateField) DESC,
Month(DateField) DESC,
Day(DateField) DESC
这将按预期顺序为您提供数据。现在,您可以创建一个存储过程,将输出修改为所需的格式。您希望在哪里看到这一点?在SSMS的结果窗格或其他地方?嗯,我从数据库中获得了uniq年数:
@years=Items.uniq.pulk(“提取(从创建的年份)”
我不知道,下一个方法是什么me@ManishDalal我想得到一些嵌套数组,我将在嵌套循环的视图文件中使用这些数组[:月][:天]
SELECT DATEPART(Year, PaymentDate) Year, DATEPART(Month, PaymentDate) Month, DATEPART(day, PaymentDate) Day,item_name
FROM Payments
GROUP BY DATEPART(Year, PaymentDate), DATEPART(Month, PaymentDate),DATEPART(day, PaymentDate) desc
ORDER BY Year, Month,day