首页 > 解决方案 > sortKeys() 不对集合的键进行排序

问题描述

我从早上 9 点开始就坐在这里,对这些奇怪的事情大发雷霆。

我试图entries按年份和月份对集合进行分组created_at

我的代码如下所示:

Auth::user()
   ->entries()
   ->get()
   ->sortByDesc('created_at')
   ->groupBy(
      [   
         function($item) {
            return $item->created_at->year;
         },
         function($item) {
            return $item->created_at->month;
         },

      ]
   )
   ->sortKeysDesc()

但我得到的只是:

{
    "2018": {
        "12": [
            {
                "id": 8,
                "user_id": 1,
                "name": "et",
                "value": -8.6,
                "created_at": "2018-12-31 20:59:06",
                "updated_at": "2019-02-03 19:50:20"
            },
            …

        ]
    },
    "2019": {
        "1": [
            {
                "id": 42,
                "user_id": 1,
                "name": "non",
                "value": -3.5,
                "created_at": "2019-01-31 05:36:01",
                "updated_at": "2019-02-03 19:50:20"
            },
            …

        ]
    }
}

我的目标是首先获得最近的年份。2019 年、2018 年……如您所见,thesortKeysDesc()根本没有做任何事情。是的——我也试过sortKeys()了——>同样的结果。

我的方法有什么问题?
谢谢你。

标签: phplaravellaravel-5eloquent

解决方案


好的,我找到了。

JSON 预览按升序排列键……嗯……</p>


推荐阅读