【问题标题】:Sum by Date Laravel Datatables按日期求和 Laravel 数据表
【发布时间】:2020-12-03 09:13:56
【问题描述】:

我在 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

请帮助我提出这个解决方案。提前致谢。

【问题讨论】:

  • 您可以添加您已经尝试过的查询吗?

标签: php laravel date datatables sum


【解决方案1】:

试试这个

$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;

【讨论】:

  • 你好,还有一个问题是:Call to undefined method Illuminate\Database\Eloquent\Builder::map()
  • 它是数据库。?我认为它是一个集合的实例,首先通过Model::all() 将所有数据存储在一个变量中,然后应用我的代码
猜你喜欢
  • 2020-07-18
  • 2021-11-07
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 2021-02-18
  • 2020-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多