php - 按日期求和 Laravel 数据表
问题描述
在 Laravel 8 中对我的数据表进行分组时遇到问题,
这是数据,
Table: cash_in
Date Code Amount
2020-12-01 0001 100
2020-12-01 0001 200
2020-12-01 0002 300
2020-12-01 0002 400
2020-12-02 0001 500
2020-12-02 0002 600
2020-12-02 0002 700
我想根据日期对代码 0001 和代码 0002 进行分组并求和。
Date 0001 0002
2020-12-01 300 700
2020-12-02 500 1300
请帮助我提出这个解决方案。提前致谢。
解决方案
尝试这个
$data = [
[
"Date" => "2020-12-01",
"Code" => "0001",
"Amount" => "100",
],
[
"Date" => "2020-12-01",
"Code" => "0001",
"Amount" => "200",
],
[
"Date" => "2020-12-01",
"Code" => "0002",
"Amount" => "300",
],
[
"Date" => "2020-12-01",
"Code" => "0002",
"Amount" => "400",
],
[
"Date" => "2020-12-02",
"Code" => "0001",
"Amount" => "500",
],
[
"Date" => "2020-12-02",
"Code" => "0002",
"Amount" => "500",
],
[
"Date" => "2020-12-02",
"Code" => "0002",
"Amount" => "700",
]
];
$data = collect($data);
$newData = $data->groupBy('Date')->map(function ($item, $key) {
return [
"date" => $key,
"total" => $item->sum('Amount'),
"code"=>$item[0]['Code'],
];
})->values();
return $newData;
推荐阅读
- javascript - Django 找不到灯箱和引导 js 文件。有人可以解决这个问题吗?
- c# - 在 Azure 中部署时出现 MIP SDK 错误 - SSL 失败内部异常:[http_exception: 'WinHttpSendRequest' CorrelationId.Description=PolicyProfile
- angular - 如何向下滚动到同一页面上的组件
- android - 如何用 Listview 和 Hero 动画实现图像(Flutter)
- c# - 如何以正确的方式将字节数组转换为 FormFile?
- javascript - 将类组件转换为功能组件时出现问题
- javascript - 从行初始化 - Birt
- mysql - 如何在 MySQL 中结合 Max 和 Count 函数
- java - 以新顺序生成已经存在的列表
- swagger - 端点在招摇中按http方法分组