gpt4 book ai didi

ruby-on-rails - rails : Getting an array of values from a model for a time period

转载 作者:行者123 更新时间:2023-12-03 16:02:42 25 4
gpt4 key购买 nike

所以,我有两个模型,User 和 Thing。

User
has_many :things
end

Thing
belongs_to :user
end
Thing有一个与之关联的日期。用户可能会在一天添加 0 个东西,然后在下一天添加 4 个,然后在第二天添加 7 个,然后在几天内添加零。你明白了。

现在,我想得到的是过去 7 天的一组值。用户添加了多少内容?我想确保它在没有添加任何内容的日子里包含零。例如,它可能返回 [0, 4, 7, 0, 0, 11, 2] .

这是另一个我确信相当容易做的事情的例子,但我的 google-fu 让我失望了。 :-)

谢谢!

最佳答案

Rob 的建议将导致 7 个查询。

以下是在一个查询中执行此操作的方法:

things_by_date = user.things.count(:group => 'DATE(created_at)', :conditions => ['DATE(created_at) > ?', 7.days.ago])
(1..7).collect { |d| things_by_date[d.days.ago.to_date.to_s] || 0 }

关于ruby-on-rails - rails : Getting an array of values from a model for a time period,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2124282/

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