我是Laravel的新手,正在从事一个小型电子商务项目。我需要在交易表中获取与交易计数相关的产品列表。以下是我的演示数据。
tb_product:
product_id product_name
1 A
2 B
3 C
tb_transaction:
transaction_id product_id
1 2
2 1
3 2
4 2
5 1
6 3
来自tb_transaction。我的销售清单如下
B = 3sales, A =2sales, C=1sale
我需要生成Laravel雄辩的结果,例如[{B...},{A...},{C...}]
(从最大值到最小值)。我曾尝试从谷歌,但没有运气。感谢您的指教,谢谢。
答案 0 :(得分:1)
尝试以下查询,
DB::table('tb_product')
->select('tb_product.product_id', 'tb_product.product_name', DB::raw("count('tb_transaction.product_id') as salesCount"))
->join('tb_transaction', 'tb_transaction.product_id', 'tb_product.product_id')
->orderBy('salesCount', 'DESC')
->groupBy('tb_product.product_id', 'tb_product.product_name')
->get()