重命名 laravel 集合“data”键

Cen*_*ael 0 collections laravel eloquent laravel-5 laravel-5.4

有没有办法可以重命名 laravel 收集结果中的数据键?此刻这个

DB::table('contracts AS C')->paginate(1)
Run Code Online (Sandbox Code Playgroud)

回报

DB::table('contracts AS C')->paginate(1)
Run Code Online (Sandbox Code Playgroud)

我想要的是这个

  {
  "current_page": 1,
    "data": [
        {
            "id": 191,
            "buyer": "John",
            "provider": "Jane"
        }
    ],
    "from": 1,
    "last_page": 1,
    "next_page_url": "",
    "path": "",
    "per_page": 1,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}
Run Code Online (Sandbox Code Playgroud)

这里的挑战是改变各方的数据密钥

lin*_*ref 7

可以采用keyBy()收集的方法。

$unfiltered = DB::table('contracts AS C')->paginate(1);

$filtered = $unfiltered->keyBy(function ($value, $key) {
     if ($key == 'data') {
         return 'parties';
     } else {
         return $key;
     }
});

return $filtered;
Run Code Online (Sandbox Code Playgroud)