В чем разница между ресурсом json и коллекцией ресурсов? в Ларавеле - PullRequest
0 голосов
/ 10 октября 2019

Может кто-нибудь объяснить разницу между ResourceCollection и JsonResource?

В документах Laravel 6 вы можете создавать 2 разных типа ресурсов ... ResourceCollection и JsonResource. https://laravel.com/docs/6.x/eloquent-resources#resource-responses

<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\ResourceCollection;

class ShopCollection extends ResourceCollection
{
    /**
     * Transform the resource collection into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return parent::toArray($request);
    }
}

против ...

<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class Shop extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return parent::toArray($request);
    }
}

1 Ответ

0 голосов
/ 10 октября 2019

Когда вы конвертируете одну модель в json, это ресурс json, когда вы конвертируете коллекцию модели в json, то есть коллекцию ресурсов.

просто Если вы возвращаете коллекцию ресурсовили разбитый на страницы ответ, представляющий собой коллекцию.

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

для создания ресурсов, преобразующих отдельные модели, вы можете создавать ресурсы, отвечающие за преобразование коллекциймоделей. Это позволяет вашему ответу включать ссылки и другую мета-информацию, относящуюся ко всей коллекции данного ресурса.

...