如何在Eloquent的一个查询中合并计数和求和查询

时间:2019-05-06 08:21:52

标签: laravel eloquent

我在Controller中的查询有问题。我想在一个查询中计算行并按列求和。

关系视图

a busy cat

到目前为止,我创建了两个查询:

查询以计数行

$paymentsCount = Payments::where('pay_status', 'like', "%{$payStatus}%")->count();

查询总和

$paymentsValue = Payments::where('pay_status', 'like', "%{$payStatus}%")->sum('brutto');

我不知道如何查询这两个查询。

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

查询构建器允许您使用select()方法来自定义SELECT子句。

使用它来添加COUNT()SUM()以及其他列:

$payments = Payments::select('*', 'COUNT(*) AS count', 'SUM(brutto) AS sum')
    ->where('pay_status', 'LIKE', "%{$payStatus}%")
    ->get();