[英]How to get sale order list (transaction) in Laravel?
我有兩個數據庫表,“ product”和“ transactions”都很低
**Product.php**
product_id product_name
--------------------------
1 | A
2 | B
3 | C
**Transactions.php**
transaction_id product_id
--------------------------------
1 | 1
2 | 1
3 | 1
4 | 3
5 | 2
6 | 3
從交易表。 因此,銷售訂單(最佳銷售)為[ACB]。 我嘗試了以下類似的方法,但是沒有用。
$saleTtransaction = SaleTransaction::select('product_id', DB::raw('count(*) as total'))->groupBy('product_id')->get();
感謝所有評論,謝謝。
這是您可能要使用的原始查詢:
SELECT
p.product_name,
COUNT(t.product_id) AS total
FROM products p
LEFT JOIN transactions t
ON p.product_id = t.product_id
GROUP BY
p.product_name
ORDER BY
total DESC;
這是上面的Laravel代碼:
$saleTtransaction = DB::table("products p")
->select("p.product_name",
DB::raw('COUNT(t.product_id) AS total'))
->join("transactions t", "p.product_id", "=", "t.product_id")
->groupBy("p.product_name")
->orderBy('total', 'desc')
->get();
假設每個產品始終具有唯一的名稱。 如果不是,那么從技術上講,我們應該同時按產品名稱和ID進行匯總。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.