我正在尝试为项目中的某种列表创建一般API资源。该列表将始终具有名称和类型及其关联数据。
到目前为止,我现在如何拥有它,我必须为每个列表创建一个集合。我想知道的是,如果有一种方法可以创建一个Collection,我可以使用data参数传递一个类型和名称字符串。所以我可以有一个收集请求而不是很多。
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class UserListCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'type' => 'User',
'name' => 'User List',
'data' => User::collection($this->collection)
];
}
}
正如您所看到的,这与用户模型紧密相关。我想创建一个集合类,我可以这样称呼它。
public function toArray($request)
{
return [
'type' => $type,
'name' => $name,
'data' => $data
];
}
new ListCollection($data,$name,$type);
有没有办法完成我想要做的事情?