SubscribeTransformer.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Repositories\Transformers\Course;
  3. use App\Repositories\Models\Course\Subscribe;
  4. use League\Fractal\TransformerAbstract;
  5. class SubscribeTransformer extends TransformerAbstract
  6. {
  7. /**
  8. * Prepare data to present.
  9. *
  10. * @param Subscribe $subscribe
  11. * @return array
  12. */
  13. public function transform(Subscribe $subscribe)
  14. {
  15. if (isApiModule()) return $this->apiTransform($subscribe);
  16. // if (request()->has('id')) {
  17. // return [
  18. // 'id' => $subscribe->id,
  19. // 'created_at' => $subscribe->created_at ? $subscribe->created_at->format('Y-m-d H:i:s') : null,
  20. // ];
  21. // }
  22. return [
  23. 'id' => $subscribe->id,
  24. 'course' => $subscribe->course,
  25. 'user' => $subscribe->user,
  26. 'is_watched' => $subscribe->is_watched,
  27. 'watched_at' => $subscribe->watched_at,
  28. 'progress' => $subscribe->progress,
  29. 'updated_at' => $subscribe->updated_at ? $subscribe->updated_at->format('Y-m-d H:i:s') : null,
  30. ];
  31. }
  32. public function apiTransform(Subscribe $subscribe)
  33. {
  34. return [
  35. 'id' => $subscribe->id,
  36. 'course' => $subscribe->course,
  37. 'user' => $subscribe->user,
  38. 'is_watched' => $subscribe->is_watched,
  39. 'watched_at' => $subscribe->watched_at,
  40. 'progress' => $subscribe->progress,
  41. 'updated_at' => $subscribe->updated_at ? $subscribe->updated_at->format('Y-m-d H:i:s') : null,
  42. ];
  43. }
  44. }