0
我想在代码下面进行优化。因为这会让页面变得很慢。有什么想法吗?我试图删除迭代代码,但我感到精神瘫痪。Rails:多个查询到单个查询
@cart_items_count_with_purchase = cart_items.select do |item|
item.brand_user.sub_orders.where('created_at > ? AND product_id = ?', item.added_to_cart_at, item.product_id).
where(order_status: OrderStatus.paid).exists?
end.count
这是我解决问题的方法。
cart_items.joins(brand_users: :sub_orders).where(sub_orders: {order_status: OrderStatus.paid}).where('sub_orders.product_id IN (?)', cart_items.pluck(:product_id))
能否请您添加模式和关联?这可能有助于进一步减少查询 –
另一个有用的信息是DB对这些字段的索引。 –
无关:您的其他问题刚被删除。请转到[帮助],花一些时间认真学习如何/在这里问什么... – GhostCat