Laravel 8 自定义基础资源类
通常,资源集合的 $this->collection
属性会自动填充,结果是将集合的每个项映射到其单个资源类。假定单一资源类是集合的类名,但结尾没有 Collection
字符串。
例如,UserCollection
会尝试将给定的用户实例映射到 User
资源。若要自定义此行为,你可以重写资源集合的 $collects
属性:
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class UserCollection extends ResourceCollection
{
/**
* collects 属性定义了资源类
*
* @var string
*/
public $collects = 'App\Http\Resources\Member';
}