こんばんは。
最近よく laravelさわってます。
paginationデータを ResourceCollectionで返却すると以下みたいなデータが返って来ると思います。
{
"data": [
{
"id": 1,
"name": "Eladio Schroeder Sr.",
"email": "therese28@example.com"
},
{
"id": 2,
"name": "Liliana Mayert",
"email": "evandervort@example.com"
}
],
"links":{
"first": "http://example.com/users?page=1",
"last": "http://example.com/users?page=1",
"prev": null,
"next": null
},
"meta":{
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://example.com/users",
"per_page": 15,
"to": 10,
"total": 10
}
}
なんか プロジェクト時に metaの内容をもっと変えたいみたいなのがあると思います。
そんなときに使えるのが paginationInformation
本題
例えば meta情報の中身を キャメルケースでもらいたいとかの場合は以下
/**
* @param Request $request
* @param array $paginated
* @param array $default
* @return array
*/
public function paginationInformation(Request $request, array $paginated, array $default): array
{
$default['meta'] = array_combine(
array_map(static fn(string $k) => Str::camel($k), array_keys($default['meta'])),
array_values($default['meta'])
);
return $default;
}

終わりに
最近簡単なブログしか書けないのですが、そろそろちゃんと書かないとと思いながら、日々の仕事に忙殺されてます。
現場からは以上です。