はじめに
こんばんは。
めちゃ簡単な備忘録です。
ResourceCollectionで data
meta
以外に新たにデータを追加したい・または 元のデータに更にデータを追加したい場合の対応です。
本番
簡単な話なんですが additional()
を使えばOKです。
以下みたいな感じ。
$resources = new ResourceCollection($collection); $resources->additional([ 'aaaa' => 'AAAA', 'bbbb' => 'BBBB', 'cccc' => 'CCCC', ]);
配列よりクラスを渡せたらもっと便利かなぁと思って、探ってみたのですが、 additional
データをマージする ResourceResponse
クラスを JsonResource
クラスで直接newしてるので、やるにはかなり大変そうでした。
public function toResponse($request) { return (new ResourceResponse($this))->toResponse($request); }
LengthAwarePaginatorみたいに サービスコンテナで帰ってくるクラスを変更できたらいいのに。。
需要ないからやってないのかな。
終わりに
簡単でしたが、ちょっと中まで探ったので、備忘録でした。
現場からは以上です。