【问题标题】:Sum relationship column before pagination in Laravel在 Laravel 中分页前求和关系列
【发布时间】:2021-06-27 19:58:40
【问题描述】:

我有一张表,其中包含带有价格的产品和第二张表,其中包含带有金额列的折扣。我正在寻找的是来自查询的所有产品价格和所有折扣金额的总和。折扣关系是 belongsTo

我正在使用以下方法在分页之前获取我的产品总价格。

$query->with(['discount']);

$total_cost = $query->sum('price');

$products = $query->paginate(25);

它非常适合获得 $total_cost,但我不知道如何获得折扣并汇总 amount 列。

【问题讨论】:

  • 你可以在sum之前克隆原始对象,比如$query = $query->with(['discount]);然后$queryClone = clone $query;那么您可以将 2 个不同的列与原始对象和克隆对象相加

标签: php laravel


【解决方案1】:

带有关系的预加载概念将对此有所帮助。

$query->with(['discount' => function($another_query) {
    $another_query->// do your sum here
} ]);

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2021-05-06
    • 2021-03-11
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 2015-06-10
    • 2017-03-25
    相关资源
    最近更新 更多