json 资源和 json 资源有什么区别?资源收集?在 Laravel [英] What is the difference between a json resource & resource collection? in Laravel

查看:20
本文介绍了json 资源和 json 资源有什么区别?资源收集?在 Laravel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

谁能解释一下 ResourceCollection 和 JsonResource 之间的区别?

Can someone explain the difference between a ResourceCollection and JsonResource?

在 Laravel 6 文档中,您可以生成 2 种不同类型的资源……ResourceCollection 和 JsonResource.https://laravel.com/docs/6.x/eloquent-resources#resource-responses

In Laravel 6 docs you can generate 2 different types of resources... ResourceCollection and JsonResource. https://laravel.com/docs/6.x/eloquent-resources#resource-responses

<?php

namespace AppHttpResources;

use IlluminateHttpResourcesJsonResourceCollection;

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

对...

<?php

namespace AppHttpResources;

use IlluminateHttpResourcesJsonJsonResource;

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

推荐答案

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

When you are converting a single model to json, that is a json resource, when you are converting a collection of model to json, that is resource collection.

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

simply If you are returning a collection of resources or a paginated response that is a collection.

请参阅文档

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

to generating resources that transform individual models, you may generate resources that are responsible for transforming collections of models. This allows your response to include links and other meta information that is relevant to an entire collection of a given resource.

这篇关于json 资源和 json 资源有什么区别?资源收集?在 Laravel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆