如何解决我需要帮助如何使用 Laravel eloquent 和 foreach 循环按日期对数组进行分组?
您好,我在 Laravel foreach 中对数组进行分组时遇到问题。我有一个像 这样的数组结果来自 laravel eloquent groupby(['date','project_site_id'])。现在我的预期输出是该日期以下的所有日期将被合并 。下面是我的代码。
$current_date = Carbon::parse(date('Y-m-d'));
$data = EmployeeActivities::where('date','>=',$current_date->startOfWeek()->format('Y-m-d'))
->where('date','<=',$current_date->endOfWeek()->format('Y-m-d'))
->get()
->groupBy(['date','project_site_id']);
foreach($data as $key => $value){
foreach($value as $key_nested){
echo $key.' '.$key_nested.'</br></br>';
}
}
解决方法
根据 group by 子句 groupBy(['date','project_site_id'])
结果显示良好,因为对于日期 2021-02-01
有 2 行具有不同的 project_site_id
,这就是它们被分开的原因。如果您只想按日期对集合进行分组,则从分组条件中删除 project_site_id
$data = EmployeeActivities::where('date','>=',$current_date->startOfWeek()->format('Y-m-d'))
->where('date','<=',$current_date->endOfWeek()->format('Y-m-d'))
->get()
->groupBy(['date']);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。