如何使用 Laravel 集合将对象数组转换为嵌套对象

How to convert object array to nested object by using Laravel Collection

我正在 Laravel 项目中进行数据组装。我可以从 sql 查询得到的数据是这样的

[
  {
    "id": 1,
    "name": "John"
  },
  {
    "id": 2,
    "name": "Ben"
  }
]

我想把它转换成这样,

{
  "1":{
    "name": "John"
  },
  "2":{
    "name": "Ben"
  }
}

有什么优雅的方法吗?

使用keyBy采集方式