【问题标题】:laravel change object when use groupBy in collection在集合中使用 groupBy 时 laravel 更改对象
【发布时间】:2020-06-29 22:46:48
【问题描述】:

当我在 laravel 中使用 groupBy 时

我将它用于 api 但响应显示如下示例

$data = Order::where('id_user',Auth::id())->with('resturant')->orderBy('created_at', 'desc')->get()->groupBy('uuid');
      return response()->json([
            'data'=>$dataa,
            'state'=>true,
        ]);

响应显示

"data": {
    "11447": [
        {
            "id": 75704,
            "uuid": "11447",
            ...........
            "resturant": {
                "id": 5,
                "category_id": 1,
                ...........
            }
        }
    ],
    "49262": [
        {
            "id": 75702,
            "uuid": "49262",
            ...........
            "resturant": {
                "id": 5,
                "category_id": 1,
               ...........
            }
        },
    ]
},
"state": true

}

我需要删除对象中的数字

“11447”:[

怎么样?!

【问题讨论】:

标签: php laravel


【解决方案1】:

请用这个

$data = Order::select(DB::raw('id,uuid,count(*) as count_order'))->groupBy('uuid')->get();
  return response()->json([
        'data'=>$data,
        'state'=>true,
    ]);

【讨论】:

  • 每个uuid可能有好几行,你能告诉我为什么要使用GroupBy吗?
  • 在数据库中的表中按食物订单号“uuid”在多表中订购食物,当我为用户订单显示时,我使用 groupby uuid->nummer order
  • 我改变了答案 - 你能测试一下吗?
  • 你应该添加 DB --> 使用 Illuminate\Support\Facades\DB;
  • 但我需要在左侧添加餐厅信息
猜你喜欢
  • 2017-11-20
  • 2019-01-30
  • 2020-04-12
  • 1970-01-01
  • 2019-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多