求助,求助,求助

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,并生成一个新的数组。
    }
}

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6
巴啦啦

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

1年前 评论
Complicated

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

1年前 评论

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

1年前 评论

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

1年前 评论
sanders

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

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

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