возвращение ответа с помощью json в API laravel удаляет ссылки на нумерацию страниц - PullRequest
0 голосов
/ 29 марта 2019

Я использую 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 (), как показано ниже, все данные о "meta" и "links" будут удалены! а все остальное в порядке.

return response()->json([
        'result' =>true,
        'data' => $data
    ]);

почему данные пагинации и ссылки удаляются из данных? есть что-то, что я пропустил?

...