dongpu42006096 2019-02-18 15:00
浏览 107

Laravel 5.4:返回响应json groupBy created_at

I have this controller which group the Collection by date

public function index() {
        $poLists = ( new PurchaseOrder() )
            ->where( 'needed_quantity', '>', 0 )
            ->where( 'supplier_id', $this->guard()->user()->id )
            ->get()->groupBy( function ( $item ) {
                return [ $item->created_at->format( 'Y-m-d HH:mm:ss' ) ];
            } );

        return response()->json( $poLists, 200 );
    }

working fine and this is the output

{
    "2019-02-18 1212:0202:3939": [
        {
            "id": 2,
            "created_at": "2019-02-18 12:16:39",
            "updated_at": "2019-02-18 12:16:39"
        }
    ],
    "2019-02-18 1515:0202:0202": [
        {
            "id": 4,
            "created_at": "2019-02-18 15:21:02",
            "updated_at": "2019-02-18 15:21:02"
        },
        {
            "id": 5,
            "created_at": "2019-02-18 15:21:02",
            "updated_at": "2019-02-18 15:21:02"
        }
    ],

is there is a way to add static key for each group like

{
    date: "2019-02-18 1212:0202:3939" [
        {
            "id": 2,
            "created_at": "2019-02-18 12:16:39",
            "updated_at": "2019-02-18 12:16:39"
        }
    ],
    date: "2019-02-18 1515:0202:0202": [
        {
            "id": 3,
            "barcode": 33254,
            "status": 0,
            "created_at": "2019-02-18 15:21:02",
            "updated_at": "2019-02-18 15:21:02"
        },
        {
            "id": 5,
            "created_at": "2019-02-18 15:21:02",
            "updated_at": "2019-02-18 15:21:02"
        }
    ],

Here is date is the static key

  • 写回答

1条回答 默认 最新

  • drf21989 2019-02-21 11:50
    关注

    Wrap your $poList results data with array with desired key:

    $results = [
        'date' => $poLists
    ];
    return response()->json($results, 200);
    

    Now, in $results['date'] have all data grouped by date:

    {
        "date": [
            "2019-02-18 1212:0202:3939" [
                {
                   "id": 2,
                    "created_at": "2019-02-18 12:16:39",
                    "updated_at": "2019-02-18 12:16:39"
                }
            ],
            "2019-02-18 1515:0202:0202": [
                {
                    "id": 3,
                    "barcode": 33254,
                    "status": 0,
                    "created_at": "2019-02-18 15:21:02",
                    "updated_at": "2019-02-18 15:21:02"
                },
                {
                    "id": 5,
                    "created_at": "2019-02-18 15:21:02",
                    "updated_at": "2019-02-18 15:21:02"
                }
            ]
        ]
    }
    

    Is this what you are looking for?

    评论

报告相同问题?

悬赏问题

  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)