questionnaire-api/app/Transformers/SectionTransformer.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')
]
];
}
}