【发布时间】:2018-01-19 13:05:21
【问题描述】:
我在 Laravel (order_product) 中有一个数据透视表,它记录了属于订单的每个产品。
我使用以下列“order_id, product_id, qty”
如果我使用
DB::table('order_product')->selectRaw('*, count(*)')->groupBy('product_id');
我得到每个产品出现的计数。
但是,有些产品在一个订单中出现多次。如何将每个产品乘以 qty 列,然后按 product_id 分组并将它们一起计数?
最后,我需要获取按产品分组的所有订单的总数。
编辑 这是我的数据库表
期望的输出:
产品 (ID = 30) 在表中出现 5 次,来自 5 个不同的订单。产品总数乘以数量列将等于 13
【问题讨论】:
-
请发布表结构、示例数据和所需输出
-
@lad2025 编辑了帖子。看看吧。
标签: php mysql laravel eloquent laravel-eloquent