[英]Convert sql for archives to Rails ActiveRecord
I'm having this class method inside my Post model for archives 我的档案模型中有这个类方法
class Post < ActiveRecord::Base
def self.archives
# fetch archives
end
end
How can I convert this sql query to ActiveRecord query in order to put it in the self.archives
method? 如何将此sql查询转换为ActiveRecord查询以将其放入self.archives
方法中?
SELECT YEAR(`created_at`) AS `year`, MONTHNAME(`created_at`) AS `month`, COUNT(`id`) AS `total`
FROM `posts`
GROUP BY `year`, `month`
ORDER BY `year` DESC, MONTH(`published_at`) DESC
You can try something like this: 您可以尝试如下操作:
def self.archives
Post.select("YEAR(created_at) AS year, MONTHNAME(created_at) AS month, COUNT(id) AS total")
.group("year, month")
.order("year DESC, MONTH(published_at) DESC")
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.