我试图在我的索引 View 中显示当前月份和年份的销售交易。
这是我放在我的销售 Controller 中的内容:
def index
@sales = show_sales_for_current_month(@sales)
在 SalesHelper 中使用此方法
def show_sales_for_current_month(sales)
sales = Sale.find(:all,
:conditions => ["MONTH(date) = ? AND YEAR(date) =?",
Date.today.month, Date.today.year])
end
其中 date 是日期数据类型。
但我收到以下 Controller 错误:
SQLite3::SQLException: no such function: MONTH: SELECT "sales".* FROM "sales" WHERE (MONTH(date) = 4 AND YEAR(date) =2011)
我环顾四周,似乎这是正确的功能,那么我做错了什么?谢谢!
最佳答案
嘿,我有一个名为 by_star 的 gem 这可以帮助您处理这些类型的查询。在您的情况下,您只需要在 Controller 中执行此操作:
@sales = Sale.by_month
by_star 负责计算它是什么月份和年份,以及凌乱的 SQL。
关于sql - MONTH AND YEAR 的 Rails Sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5645174/