首页 > 解决方案 > 如何在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

标签: mysqllaraveleloquentcontroller

解决方案


您可以尝试这种方式来格式化这样的数据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,
                   ];
               });

推荐阅读