@orders.closed_today
是今天所有订单的数组。
如何列出为此获取所有项目?
即。 @items = @orders.closed_today.items
更新 报告html
<% @items = Item.in_orders(@orders.closed_today) %>
项目模型
scope :in_orders, lambda { |orders| where('order_id is in (?)', orders.map(&:id).join(',') ) }
答案 0 :(得分:1)
简单:映射项目。
@items = @orders.closed_today.all(:include => :items).map(&:items)
那会给你:
=> [[item1,item2],[item2,item3]]
获取独特的项目:
@orders.closed_today.all(:include => :items).map(&:items).flatten.uniq
这不是一种获取相关对象的可持续方式;当心N + 1性能问题。
更一般地说,你应该做这样的事情:
class Item
scope :closed_today, joins(:orders) & Order.closed_today
end
然后致电:
Item.closed_today