Как получить нумерацию ссылок в коллекции ресурсов - Laravel 5.7.19 - PullRequest
1 голос
/ 15 апреля 2019

Я работаю с ресурсом API laravel. когда мы не используем какую-либо коллекцию ресурсов, мы получаем ссылки на страницы и т. д. с помощью paginate (10). но когда я использую Resource :: collection, я ничего не получаю, только поля, которые я помещаю в ресурс.

Это мой контроллер

return response()->json([
  "items" => LatestProjectsResource::collection(Project::has('pages')->where('type', $type)->latest()->paginate(20))
]);

А это мой ресурс

public function toArray($request)
    {
        return [
            'id' => $this->id,
            'title' => $this->name,
            'slug' => $this->slug,
            'url' => $this->url,
            'thumbnail' => new ThumbnailResource($this->thumbnail),
        ];
    }

Результат

enter image description here

Я попробовал некоторые ответы от интернет-сообщества, включая эту Настройка разбиения на страницы Laravel 5.5 Api Resource Collection одна, но она не работает

Я пытался $this->collection, но не повезло

Пожалуйста, помогите мне здесь.

1 Ответ

0 голосов
/ 15 апреля 2019

Вы можете получить это как

use App\User;
use App\Http\Resources\UserCollection;

Route::get('/users', function () {
    return new UserCollection(User::paginate());
});

см. документацию

Результат будет похож на

{
    "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/pagination?page=1",
        "last": "http://example.com/pagination?page=1",
        "prev": null,
        "next": null
    },
    "meta":{
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://example.com/pagination",
        "per_page": 15,
        "to": 10,
        "total": 10
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...