求助,求助,求助

1). 当前使用的 Laravel 版本?

Laravel版本:9.x

2). 当前使用的 php/php-fpm 版本?

PHP 版本:php8.2

3). 当前系统

Windows 10

4). 业务需求

挖掘机表

id code
1 01
2 02
3 03

工程车表

id code
1 66
2 67

工作记录表

id 挖掘机id 工程车id
1 1 2
2 1 1
3 2 1
4 2 2
5 1 1

根据挖掘机表和工程车表,统计工作记录表,每辆工程车在每辆挖掘机装了多少车,最后得到如下的表格。下方的表格是需要动态生成。

工程车/挖掘机 挖掘机01 挖掘机02 挖掘机03 合计
01工程车 2 1 0 3
02工程车 1 1 0 2
合计 3 2 0 5

5. 解决思路

foreach(挖掘机表){
    foreach(工程车表){
        // 根据挖掘机id和工程车id获取工作记录表的count,并生成一个新的数组。
    }
}

工作记录表的数据会越来越大,有没有比较好的解决思路求分享。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6
巴啦啦

记录表保持,为每个挖掘机做一个对象,对象中有 N 个字段,对应 N 个工程车,值为数值。这样能避免循环动态生成。

1年前 评论
Complicated

做中间表吧,就是把每个月的,或者每年的 一段时间的,生成结果,然后放到一张表里(这个事情用定时任务做就好了)

1年前 评论

冗余。记录和统计分开存放。

1年前 评论

这个sql中的group by不能解决吗?

1年前 评论
sanders

这是个比较基础的问题,分两步考虑就行

  1. 根据 挖掘机和工程车进行 group by 查询统计;
  2. 输出的时候再拼凑行列数据。
1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!