繁体   English   中英

Ruby strftime'%-m'在查询中不起作用

[英]Ruby strftime '%-m' not working in query

我的目标是按项目的user_id,创建的年份和创建的月份查询项目。 我在Heroku上的开发中使用sqlite3,在生产中使用postresql。

我想做这样的事情:

items.where("user_id = '?' AND strftime('%Y', created_at) = '?' AND strftime('%-m', created_at) = '?' ", 6, 2015, 3)

但是它不返回任何记录。

这有效:

items.where("user_id = '?' AND strftime('%Y', created_at) = '?' ", 6, 2015)

但这不返回任何记录:

items.where("user_id = '?' AND strftime('%-m', created_at) = '?' ", 6, 3)

我是否错误地使用了'%-m'格式?

我不会在开发和生产中使用不同的数据库,而是使用相同的数据库。 只需在您的本地主机上配置postgresql,然后将查询更改为以下内容:

user.items.where("date_part('year', created_at) = :year AND date_part('month', created_at) = :month", year: 2015, month: 6)

假设您已经在项目和用户之间建立了关联,那么您也不需要查询user_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM