如何在 Laravel 中获取销售订单列表(交易)?

Posted

技术标签:

【中文标题】如何在 Laravel 中获取销售订单列表(交易)?【英文标题】:How to get sale order list (transaction) in Laravel? 【发布时间】:2019-07-26 09:47:25 【问题描述】:

我有两个数据库表,“产品”和“交易”都很低

**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

来自事务表。所以销售订单(最佳销售)是 [A C B]。我尝试了类似下面的方法但不起作用。

$saleTtransaction = SaleTransaction::select('product_id', DB::raw('count(*) as total'))->groupBy('product_id')->get();

感谢所有 cmets,谢谢。

【问题讨论】:

【参考方案1】:

这是您可能想要使用的原始查询:

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 进行聚合。

【讨论】:

以上是关于如何在 Laravel 中获取销售订单列表(交易)?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过“亚马逊MWS订单API”获取“非亚马逊”销售渠道订单

如何通过 Laravel 中的 API 从 Shopify 商店获取所有订单

如何在捕获交易之前使用 Paypal 轻松更新订单?

如何从不同的表中获取 customer_id 并在 laravel 中使用正确的方法避免重复?

如何在laravel中从多对多关系中检索多个记录

SD从零开始64-特异的业务交易(Special Business Transactions)