0

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

桌子

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;
    }
4

1 回答 1

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;

并为您的选择添加更多内容。

于 2019-08-26T13:18:07.740 回答