0
大家好,这是我的第一篇文章,在给了我很多工作之后,我的头只是不想再合作了,我在网上搜索了答案, t查找相关案例,我在laravel 5.2中使用查询工作,表示查询是获取项目进度并计算共享相同进度的项目以饼图显示。对已分组查询的结果进行分组sql/laravel
关系如下:
我有3个表:
- 项目
- 步骤来完成(每个人都有一个百分比)。 每一步每一个项目的
- 进度(已完成true或false)
现在我有这样的代码
table('items as i')
->join('items_sectors as is', 'i.sector_id', '=', 'is.id')
->join('sectors_steps_progress as stp', 'i.id', '=', 'stp.item_id')
->join('sectors_steps as cs', 'stp.step_id', '=', 'cs.id')
->where('stp.completed', true)
->selectRaw('count(distinct i.id) as count, CONCAT(sum(cs.percentage), "%") as percentage')
->groupBy('stp.completed', 'i.id');
而这与一些测试数据输出
array:3 [▼
0 => {#2042 ▼
+"count": 1
+"percentage": "50%"
}
1 => {#2043 ▼
+"count": 1
+"percentage": "100%"
}
2 => {#2044 ▼
+"count": 1
+"percentage": "100%"
}
]
我想要现在加入所有的比赛“百分比”,并数它们,所以它会最终如下:
个array:3 [▼
0 => {#2042 ▼
+"count": 1
+"label": "50%"
}
1 => {#2043 ▼
+"count": 2
+"label": "100%"
}
]
非常感谢,如果任何人都可以帮我这个,我还在努力弄清楚:(
我对此采取了类似的方法,是的它创造了奇迹,所以我将这标记为一个有效的答案,非常感谢您的答案! –
不客气 – oseintow