【发布时间】:2022-07-26 20:09:21
【问题描述】:
我正在使用 Laravel v6 并编写资源和资源集合。我想使用资源集合中资源中的一些数据。比如我有以下UserResource和UserCollection:
class UserResource extends JsonResource
{
public $data = 0;
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
$this->data + = 5;
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
];
}
public function getAdditionalData(){
return $this->data;
}
}
class UserCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'data' => $this->collection,
'additional-data' => [
(new UserResource(null))->getAdditionalData(),
],
];
}
}
我想返回一些在资源中计算出来的数据,并在资源集合中使用。我收到的值为 0,而我期望为 5。如何将这些数据从资源返回到集合中?
【问题讨论】:
-
显示您期望的结果示例