Order.find(
:all,
:joins => :shipments,
:select => 'distinct orders.*',
:conditions => ['shipments.created_at > ?', Time.now - 1.hour])
:joins
гарантирует, что вы получаете заказы, которые имеют отгрузки, а :conditions
гарантирует, что вы получаете только посылки, созданные в последний час.
:select
означает, что вы получаете только один экземпляр каждого заказа в случае, если у заказа есть несколько уведомлений за последний час.
Я не уверен, что «новейшая» оговорка важна, поскольку, если какая-либо партия была создана за последний час, то новейшая партия также будет соответствовать этому условию.