不起作用的控制器代码:
@mailings = Mailing.find(:all, :conditions => ["created_at.month = ?", m])
错误消息:
Mysql::Error: Unknown column 'created_at.month' in 'where clause': SELECT * FROM `mailings` WHERE (created_at.month = 10)
谢谢!
答案 0 :(得分:3)
:conditions
的{{1}}参数直接插入到生成的SQL中。因此,您可以使用SQL命令。
如果您使用MySQL,可以尝试以下操作:
find
或者,对于SQLite:
@mailings = Mailing.find(:all, :conditions => ["MONTH(created_at) = ?", m])
答案 1 :(得分:1)
尝试:
@mailings = Mailing.find(:all, :conditions => ["MONTH(created_at) = ?", m])
假设您使用的是MySQL,您可以在文档中找到更多内容:MySQL Date and Time Functions