私はWebサービスにlaravelを使用しています。私はこのようなコレクションを返したい:
return response()->json([data => $data]);
コレクションを変換するためにlaravel apiリソースを使用しています。これは私のリソースです:
class Item extends JsonResource
public function toArray($request)
{
return [
'id' => $this->id,
'name'=> $this->name,
'city_dependent' => $this->city_dependent,
];
}
次のようなリソースにコレクションを渡すと:
$items = Item::where('active' , 1)->paginate(10);
$data = Item::collection($items);
すべてがうまくいきます。$data を返すと、ページネーション リンクとメタが返され、問題はありません。
"links": {
"first": "http://127.0.0.1:8000/api/category/items?page=1",
"last": "http://127.0.0.1:8000/api/category/items?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://127.0.0.1:8000/api/category/items",
"per_page": 10,
"to": 3,
"total": 3
}
しかし、以下のように response()->json() でデータを返すと、「メタ」と「リンク」に関するすべてのデータが削除されます! 他のすべては問題ありません。
return response()->json([
'result' =>true,
'data' => $data
]);
ページネーション データとリンクがデータから削除されるのはなぜですか? 私が逃したものはありますか?