TimeTransformer.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Repositories\Transformers\School;
  3. use App\Repositories\Enums\School\TimeTypeEnum;
  4. use Carbon\Carbon;
  5. use League\Fractal\TransformerAbstract;
  6. use App\Repositories\Models\School\Time;
  7. /**
  8. * Class TimeTransformer.
  9. *
  10. * @package namespace App\Repositories\Transformers\School;
  11. */
  12. class TimeTransformer extends TransformerAbstract
  13. {
  14. /**
  15. * Transform the Time entity.
  16. *
  17. * @param \App\Repositories\Models\School\Time $model
  18. *
  19. * @return array
  20. */
  21. public function transform(Time $model)
  22. {
  23. return [
  24. 'id' => (int)$model->id,
  25. 'name' => $model->name,
  26. 'section' => $model->section,
  27. 'start_time' => $model->start_time,
  28. 'end_time' => $model->end_time,
  29. 'type' => $model->type,
  30. 'type_name' => TimeTypeEnum::getDescription($model->type),
  31. 'sort' => $model->sort,
  32. 'status' => $model->status,
  33. 'created_at' => $model->created_at->format(Carbon::DEFAULT_TO_STRING_FORMAT),
  34. 'updated_at' => $model->updated_at->format(Carbon::DEFAULT_TO_STRING_FORMAT)
  35. ];
  36. }
  37. }