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