从数据库中获取和汇总数据-Laravel

时间:2019-08-26 13:06:00

标签: php laravel

我的数据库中有一条记录,如下所示

表格

id   client_id   to_pay  due   session 
 1     12         100     50     ***
 2     24         80      30     ***
 3     12          0      10     ***
 4     24          0       5     ***

现在在下面的查询中,我想通过根据client_id对数据进行分组来从上表中获取所有数据,但是在查询中,我还需要对to_paydue求和每个客户的回应。

请问如何完成此操作?

控制器

   public function collectionPost(Request $request)
    {

        $fees = Collection::select('*')
        ->where('session',$request->get('session'))->groupby('client_id')->sum('due')
        ->get();

        return $fees;
    }

1 个答案:

答案 0 :(得分:0)

使用方法sum时,它会覆盖select以得到正确的结果。

您可以在不使用sum方法的情况下构建选择。

$fees = Collection::select(DB::raw('SUM(due) as total_due'), DB::raw('SUM(to_pay) as total_to_pay'))
        ->where('session',$request->get('session'))->groupby('client_id')
        ->get();

        return $fees;

然后将更多内容添加到您的选择中。