讨论数量:
可以参考以下代码
<?php
namespace App\Http\Resources\SuperviseTask;
use App\Services\SuperviseTaskService;
use Illuminate\Http\Resources\Json\JsonResource;
class SuperviseTaskResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'status' => $this->status,
'order_status_label' => $this->order_status_label,
'order_type' => $this->order_type,
'type_name_label' => $this->type_name_label,
'collection_info' => $this->collection_info ?? [],
'created_at' => $this->created_at->toDateTimeString(),
'updated_at' => $this->updated_at->toDateTimeString(),
'third_task_reason' => $this->third_task_reason,
'report_histories' => SuperviseReportHistoryResource::collection($this->reportHistories),
$this->mergeWhen($this->status == SuperviseTaskService::SUPERVISE_STATUS_CHECK_REPORT, [
'max_review_time' => $this->max_review_time,
'review_submit_time' => $this->review_submit_time,
]),
$this->mergeWhen(isset($this->reviewers) && filled($this->reviewers), [
'reviewers' => $this->reviewers,
]),
$this->mergeWhen(isset($this->order_numbers) && filled($this->order_numbers), [
'order_numbers' => $this->order_numbers,
]),
'last_instance' => $this->last_instance,
'last_instance_label' => $this->last_instance_label
];
}
}
/**
* 详情
* @param Request $request
* @param $id
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
*/
public function show(Request $request, $id)
{
$detail = app(SuperviseTaskService::class)->getDetail($id);
return $this::success('成功', new SuperviseTaskResource($detail));
}
推荐文章: