我的数据库中有一条记录,如下所示
表格
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_pay
和due
求和每个客户的回应。
请问如何完成此操作?
控制器
public function collectionPost(Request $request)
{
$fees = Collection::select('*')
->where('session',$request->get('session'))->groupby('client_id')->sum('due')
->get();
return $fees;
}
答案 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;
然后将更多内容添加到您的选择中。