gpt4 book ai didi

sql - 比较 Rails ORM 中的年份和月份

转载 作者:行者123 更新时间:2023-12-04 23:46:19 26 4
gpt4 key购买 nike

我刚刚开始学习使用 Rails,并且在 Django 方面有相当多的经验。我正在尝试将一个相当常见的查询转换为 Rails ORM,但似乎找不到对数据库独立解决方案的良好引用。

我想要做的是将 created_at 字段的日期或月份与从 url 提交的文本进行比较。在 Django 中这很简单:

if kwargs.get('year', False):
# Filter by year
post_list = Post.objects.filter(posting_date__year = kwargs['year'])
# Futher filter by month if applicable
if kwargs.get('month', False):
post_list = post_list.filter(posting_date__month=kwargs['month'])

我似乎找不到一个简单的独立于数据库的解决方案来在 Rails 中执行相同的操作。请注意,我强调了数据库独立部分;我当然可以为此编写自己的 SQL,但我坚信代码和数据库的抽象。

最佳答案

这可以工作

def self.by_year(year)
dt = DateTime.new(year)
boy = dt.beginning_of_year
eoy = dt.end_of_year
where("published_at >= ? and published_at <= ?", boy, eoy)
end

但我不确定这是最好的方法。

关于sql - 比较 Rails ORM 中的年份和月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20463871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com