我在rails 5工作。
这适用于Sqlite查询工具:
SELECT DISTINCT strftime('%m', date) FROM "dailylogs" ORDER BY "dailylogs"."created_at" DESC
但是我正努力在我的rails代码中使用某些东西,我必须这样做:
@dailylog_months = Dailylog.select(strftime('%m', date)).distinct
但是我收到了这个错误:
未定义的局部变量或#
的方法`date'非常感谢任何帮助。
由于
答案 0 :(得分:0)
由于您引用的date
是Dailylog
的一部分,因此您的查询应为:
@dailylog_months = Dailylog.select(strftime('%m', :date)).distinct
此外,如果您有多个日期,那么您可以执行以下操作:
@dailylog_months = Dailylog.select { |d| strftime('%m', d.date)}.distinct
如果这解决了您的问题,请告诉我:))
答案 1 :(得分:0)
我认为您正在寻找的是:
@dailylog_months = Dailylog.select("strftime('%m', date)").distinct
使用select语句的引号。要使它可以从Ruby访问,您可能需要:
@dailylog_months = Dailylog.select("strftime('%m', date) as month").distinct