gpt4 book ai didi

ruby-on-rails - Ruby on Rails - 在 ':include =>' 上添加条件以加载有限数量的对象

转载 作者:数据小太阳 更新时间:2023-10-29 07:05:55 26 4
gpt4 key购买 nike

我有两个模型用户和事件。基数是一个用户有很多事件。当我查询数据库以提供所有用户及其相应事件时,它会返回正确的结果。示例语句:Users.find(:all, :include=>[:events])

但是,我需要帮助的是根据条件为用户获取事件。我需要返回的每个用户只获取今天安排的事件(例如:CREATED_DATE = TODAY)。也就是说,我不希望所有事件都与用户关联。也就是说,我仍然需要在数据库中找到的所有用户,但对于今天没有安排事件的一些用户,他们不应该在 HashMap 中加载事件。

有人可以帮我修改“Users.find(:all, :include=>[:events])”Rails 语句,这样我就可以只为用户获取某些事件,而不是所有事件吗?

谢谢,S

最佳答案

按照这些思路应该可以工作:

# Rails 3
User.includes(:events).where(:events => {:created_at => Time.now.midnight..Time.now.tomorrow.midnight})

# Rails 2
User.find(:all, :includes => :events, :conditions => ["events.created_at between ? and ?", Time.now.midnight, Time.now.tomorrow.midnight])

Time.now.tomorrow.midnight 非常讨厌。 1.day.from_now.midnight 可能稍微不那么讨厌,具体取决于您的偏好;)

关于ruby-on-rails - Ruby on Rails - 在 ':include =>' 上添加条件以加载有限数量的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4454204/

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