最近做了一个功能 按年份统计课程访问次数 按班级统计班级访问次数

$uniqueYearTimearray:3 [
0 => 2021
1 => 2022
2 => 2023
]

foreach ($uniqueYearTime as $k => $v) {$courseInfo[$v] = Interview::where('course_id', $data['id'])->where('insert_time', $v)->count();}

这里的$v是各个年份 想用其做键值所以用了一个新的变量 $courseInfo重新进行赋值

解决了问题

$classIds array:6 [
0 => 145
1 => 147
2 => 154
3 => 182
4 => 184
5 => 198
]

foreach ($classIds as $key => $val) {$classInfo[$val]['totalTimes'] = Interview::where('class_id', $val)->count();$classInfo[$val]['className'] = Classes::where('id', $val)->value('name');}

这里的$val是各个班级的id 并且想同时追加一个班级名称 即className

用array_values处理一下得到了想要的数据结构

成品:

“data”: {

“courseInfo”: {

“2021”: 3,

“2022”: 3,

“2023”: 15

},

“classInfo”: [

{

“totalTimes”: 3,

“className”: “0328教学班”

},

{

“totalTimes”: 4,

“className”: “0330教学班”

},

{

“totalTimes”: 3,

“className”: “lllllll”

},

{

“totalTimes”: 3,

“className”: “实训课程教学”

},

{

“totalTimes”: 3,

“className”: “10:13新班级”

},

{

“totalTimes”: 5,

“className”: “11111111111111111”

}

]

}