mysql - 如何在laravel中显示记录数?
问题描述
这是我的控制器查询:
$orderStatistics = OrderHeader::orderBy('order_status')
->select(DB::raw('order_status,count(*) as count'))
->groupBy('order_status')
->get();
这将返回如下响应:
"data": [
{
"order_status": "APR",
"count": 2
},
{
"order_status": "CNCL",
"count": 4
},
{
"order_status": "NTE",
"count": 3
},
{
"order_status": "PND",
"count": 2
},
{
"order_status": "SHP",
"count": 1
}
]
我怎样才能返回相关的 order_status 并且它的计数例如如下:
APR : 2
解决方案
您可以尝试这种方式来格式化这样的数据APR : 2
..
$orderStatistics = OrderHeader::orderBy('order_status')
->select(DB::raw('order_status,count(*) as count'))
->groupBy('order_status')
->get();
$orderStatistics = $orderStatistics->map(function($item){
return [
$item->order_status => $item->count,
];
});
推荐阅读
- android - 从 ListView.builder 中返回自定义卡片并关闭(添加和删除到列表视图)
- amazon-ec2 - 在 aws ec2 托管的 Magento1.9 上出现 524 超时错误
- firebase - Firebase - 查询子级的子级
- regex - 有没有办法在正则表达式中的模式之前选择字符串?
- c++ - 如何在 C++ 编译中正确链接 xercesc 库?
- ios - “某些视图”类型的值没有成员“如果”
- r - 在 R 中用循环和 if else 解决 SIR 模型
- c# - 没有输出,如果我不按 +
- python - 如何从自定义数据框中提取列?
- vuejs3 - Vue 3 组合 api 钩子与 ES6 模块导入