gpt4 book ai didi

php - Laravel groupBy 和原始查询

转载 作者:行者123 更新时间:2023-12-03 23:02:40 28 4
gpt4 key购买 nike

我从未真正使用过 groupBy 或原始查询,尤其是很长一段时间。我只是想知道以下是否可能:

$payments = Payment::all();

$grouped = $payments->groupBy('date');

dd($grouped->toArray());

上面的内容会给我以下输出:

"2018-08-21" => array:1 [▶]
"2018-06-21" => array:1 [▶]

我想做的是像这样获取数据:

"2018-08-21" => array:2 [▶]

所以基本上我想将月份转换为当前月份,然后按天对数据进行分组。在上面的示例中,日期 21-06-2018 已更改为 21-08-2018,并与 21 日的另一个日期分组。

简单地说,我只想按日期列的日期对结果进行分组,而忽略月份和年份。这可以通过(原始)查询实现吗?或者我应该在之后操作数据?

最佳答案

您也可以使用类似于 @elitepc 回答的内容,您的解决方案有效的原因是因为您正确使用了 groupBy Collection 函数,该解决方案使用 groupBy Eloquent 查询生成器函数。不要与它们混淆,否则你会过得很糟糕。

这应该有效:

$payments = Payment::orderBy('created_at', 'DESC')
->groupBy(DB::raw('DAY(date)'))
->get();

关于php - Laravel groupBy 和原始查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51972889/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com