如何解决如何修改 Laravel API 资源集合响应以在“数据”包装器中包含另一个“数据”包装器?
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class LanguageCollection extends ResourceCollection
{
public $collects = LanguageResource::class;
/**
* TagCollection constructor.
* @param $resource
*/
public function __construct($resource)
{
parent::__construct($resource);
}
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'languages' => parent::toArray($request)
];
}
}
这将给出如下响应结构:
但我想将所有语言放在另一个名为“result”的包装器中,因此响应结构将如下所示:
我不想以这种方式对其进行硬编码,因为这将要求我们更改每个资源集合。
public function toArray($request)
{
return [
'result' => ['languages' => parent::toArray($request)]
];
}
实现这种响应结构的正确方法是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。