34 lines
1.0 KiB
PHP
34 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Transformers;
|
|
|
|
use App\Models\Section as Model;
|
|
use League\Fractal\TransformerAbstract;
|
|
use App\Http\Resources\QuestionnaireResource;
|
|
use App\Http\Resources\QuestionResource;
|
|
use App\Http\Resources\UserResource;
|
|
|
|
class SectionTransformer extends TransformerAbstract
|
|
{
|
|
/**
|
|
* @param Model $model
|
|
* @return array
|
|
*/
|
|
public function transform(Model $model)
|
|
{
|
|
return [
|
|
'id' => $model->id,
|
|
'title' => $model->title,
|
|
'description' => $model->description,
|
|
'questionnaire' => new QuestionnaireResource($model->questionnaire),
|
|
'questions' => QuestionResource::collection($model->questions()->orderBy('number')->get()),
|
|
'createdAt' => $model->created_at->toIso8601String(),
|
|
'updatedAt' => $model->updated_at->toIso8601String(),
|
|
'creator' => new UserResource($model->creator),
|
|
'links' => [
|
|
'relatedTo' => route('sections.index')
|
|
]
|
|
];
|
|
}
|
|
}
|