如何将此SQL查询转换为laravel查询?从下面查询生成总和,但是我需要根据客户的产品求和]
SELECT orders.id,orders.customer_id,orderdets.product_id,
SUM(orderdets.quantity)
FROM orders,orderdets
WHERE orders.id=orderdets.order_id
AND orderdets.product_id=11
GROUP BY orders.customer_id
;
创建订单模型,下面的查询可以实现您想要的。
Order::select('orders.id', 'orders.customer_id', 'orderdets.product_id', DB::raw('SUM(orderdets.quantity))')
->leftJoin('orderdets', 'orders.id', '=', 'orderdets.order_id')
->where('product_id', $productId)
->groupBy('orders.customer_id')
->get();