【发布时间】:2021-02-25 13:21:06
【问题描述】:
我有一个这样的收藏资源:
class VehicleCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'data' => $this->collection,
];
}
}
我称之为,例如:
public function index()
{
$vehicles = Vehicle::where('id', '>', 0);
$collection = new VehicleCollection($vehicles->paginate(10));
return $collection->preserveQuery();
}
保留分页查询很重要,这就是我没有使用VechicleResource 的原因 - 它没有preserveQuery() 的选项。
以上工作正常,但返回的字段太多。例如我的Vehicle 表有一个model_name 和一个rating 列。如何在此处的响应中只为每个模型返回 model_name(或指定我返回的字段)?
【问题讨论】: