【发布时间】:2009-06-20 16:12:53
【问题描述】:
我有一个 Order 类 has_many :shipments。我如何使用Order.find 来返回在某个时间(比如最后一小时)之后创建最新 货件的所有订单对象?
【问题讨论】:
标签: sql ruby-on-rails activerecord join
我有一个 Order 类 has_many :shipments。我如何使用Order.find 来返回在某个时间(比如最后一小时)之后创建最新 货件的所有订单对象?
【问题讨论】:
标签: sql ruby-on-rails activerecord join
Order.find(
:all,
:joins => :shipments,
:select => 'distinct orders.*',
:conditions => ['shipments.created_at > ?', Time.now - 1.hour])
:joins 确保您收到有发货的订单,:conditions 确保您只收到最近一小时内创建的发货。
:select 表示您只能获得每个订单的一个实例,以防订单在过去一小时内有多个通知。
我不确定“最新”规定是否重要,因为如果在过去一小时内创建了任何货件,那么最新货件也将符合该条件。
【讨论】: