有人可以解释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);
}
}
vs ...
<?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);
}
}
答案 0 :(得分:1)
当您将单个模型转换为json(即json资源)时,当您将模型的集合转换为json(即资源集合)时。
简单地,如果您要返回资源集合或作为集合的分页响应。
要生成可转换单个模型的资源,您可以 生成负责转换集合的资源 模型。这使您的回复可以包含链接和其他元 与给定的整个集合相关的信息 资源。