You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中将查询结果转换为ChartJS适配的键值对格式方案

Laravel查询结果适配ChartJS格式解决方案

现有代码修改方案

你查询时已经通过SQL的GROUP BY products.name保证了每个商品名称仅对应一条销量记录,调用集合groupBy('name')后每个键对应的$item是仅包含1个元素的集合,直接取首个元素的quantity字段并转整型即可,修改后代码如下:

return $prd->groupBy('name')->map(function ($item, $key) {
    return (int) $item->first()->quantity;
});

更简洁的优化方案

直接使用Laravel集合的pluck方法一步完成格式转换,不需要先分组再映射,性能和可读性更好:

// pluck第一个参数为值字段,第二个参数为自定义键字段,最后统一将销量转为整型匹配目标格式
return $prd->pluck('quantity', 'name')->map(fn($quantity) => (int)$quantity);

如果ChartJS对数值类型要求不严格,也可以省略转整型的步骤,直接写:

return $prd->pluck('quantity', 'name');

内容的提问来源于stack exchange,提问作者Izzat Z.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:48:04