laravel - 在 Laravel 中使用 where 语句创建一个组
问题描述
我正在编写一个小脚本来加载 Attendee_logs,基于该脚本计算基于小时的打印总数。
首先,我从与会者那里加载 id
$allAttendees->pluck('id')->implode(',')
所以我从中得到 389832、321321(这是与会者的 id,基于一个组)。
现在我想按小时对它们进行分组。但我不知道如何添加whereIn
语句
$badgesPrintedByDate = DB::table('Attendee_logs')->select(DB::raw('hour(created_at)'), DB::raw('COUNT(id)'))->whereIn('id', [$allAttendees->pluck('id')->implode(',')])->groupBy(DB::raw('hour(created_at)'));
当我这样做时,我得到一个空的结果。但是当我删除 whereIn 时,我得到了一个结果。
所以我的问题是,如何根据小时数计算行数以及在哪里提供 ID :)?
解决方案
我认为这会奏效:
$badgesPrintedByDate = DB::table('Attendee_logs')->select(DB::raw('hour(created_at)'), DB::raw('COUNT(id)'))->whereIn('id', $allAttendees->pluck('id')->all())->groupBy(DB::raw('hour(created_at)'));
而不是说:
$allAttendees->pluck('id')->all()
它返回一个 id 数组,你也可以说:'
$allAttendees->pluck('id')->values()
或者:
$allAttendees->pluck('id')->toArray();
推荐阅读
- c++ - c++参考:这两个语句有什么区别?
- angular - Angular,按钮需要单击 2 次才能更改文本
- ios - 在 Swift 中填充这个 UITableView 时我做错了什么?
- ios - 有没有办法在 SwiftUI 中关闭没有动画的模态视图?
- python - 如何在 python 2.7 中使用命名空间包?
- c# - OnCollisionExit 被调用,但行为奇怪
- windows - 如何确定我的系统在一段时间内启动的次数?
- windows - 批处理文件从另一个文件中添加一个文件中的列,第一个字段匹配
- angular - 重构 Observable 以避免类型断言错误
- c# - 转换字典
> 列出 与 concat 键/值 c#