json 资源和 json 资源有什么区别?资源收集?在 Laravel

What is the difference between a json resource amp; resource collection? in Laravel(json 资源和 json 资源有什么区别?资源收集?在 Laravel)
本文介绍了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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Why can#39;t I update data in an array with foreach loop?(为什么我不能用 foreach 循环更新数组中的数据?)
Foreach for arrays inside of an array(Foreach 用于数组内的数组)
PHP array get next key/value in foreach()(PHP 数组在 foreach() 中获取下一个键/值)
Using preg_match on a multidimensional array to return key values arrays(在多维数组上使用 preg_match 返回键值数组)
php foreach as key, every two number as a group(php foreach 为key,每两个数字为一组)
Treat a PHP class that implements Iterator as an array(将实现 Iterator 的 PHP 类视为数组)