8

有人可以解释 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);
    }
}
4

1 回答 1

6

将单个模型转换为 json 时,即为 json 资源,将模型集合转换为 json 时,即为资源集合。

简单地说,如果您要返回资源集合或作为集合的分页响应。

查看文档

要生成转换单个模型的资源,您可以生成负责转换模型集合的资源。这允许您的响应包含与给定资源的整个集合相关的链接和其他元信息。

于 2019-10-10T06:12:36.407 回答