CourseTransformer.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace App\Repositories\Transformers\Course;
  3. use App\Repositories\Enums\CourseCommentStatusEnum;
  4. use App\Repositories\Enums\CourseRecEnum;
  5. use App\Repositories\Enums\ModelStatusEnum;
  6. use App\Repositories\Transformers\BaseTransformer;
  7. use Carbon\Carbon;
  8. /**
  9. * Class CourseTransformer.
  10. *
  11. * @package namespace App\Repositories\Transformers;
  12. */
  13. class CourseTransformer extends BaseTransformer
  14. {
  15. /**
  16. * 列表
  17. * @param $model
  18. * @return array
  19. * Author: Mead
  20. */
  21. public function lists($model)
  22. {
  23. return [
  24. 'id' => (int)$model->id,
  25. 'title' => $model->title,
  26. // 'category_id' => $model->category_id,
  27. 'category' => $model->category,
  28. 'user' => $model->user,
  29. // 'type' => $model->type,
  30. // 'type_text' => CourseTypeEnum::getDescription($model->type),
  31. 'labels' => str2arr($model->labels),
  32. 'slug' => $model->slug,
  33. // 'thumb' => $model->thumb,
  34. 'thumb_resource' => $model->thumb_resource,
  35. // 'description' => $model->description,
  36. 'published_at' => $model->published_at,
  37. // 'is_rec' => $model->is_rec,
  38. 'is_rec_text' => CourseRecEnum::getDescription($model->is_rec),
  39. 'user_count' => $model->user_count,
  40. 'video_nums' => $model->video_nums,
  41. // 'comment_status' => $model->comment_status,
  42. // 'comment_status_text' => CourseCommentStatusEnum::getDescription($model->comment_status),
  43. 'sort' => $model->sort,
  44. 'status' => $model->status,
  45. // 'watch_progress' => $model->subscribe ? $model->subscribe->progress : false,
  46. 'watch_progress' => $model->watch_progress,
  47. // 'status_test' => ModelStatusEnum::getDescription($model->status),
  48. 'created_at' => $model->created_at->format(Carbon::DEFAULT_TO_STRING_FORMAT),
  49. 'humans' => $model->created_at->diffForHumans(),
  50. // 'updated_at' => $model->updated_at->format(Carbon::DEFAULT_TO_STRING_FORMAT)
  51. ];
  52. }
  53. /**
  54. * 详情
  55. * @param $model
  56. * @return array
  57. * Author: Mead
  58. */
  59. public function detail($model)
  60. {
  61. return [
  62. 'id' => (int)$model->id,
  63. 'title' => $model->title,
  64. 'category' => $model->category,
  65. 'user' => $model->user,
  66. // 'type' => $model->type,
  67. // 'type_text' => CourseTypeEnum::getDescription($model->type),
  68. 'labels' => str2arr($model->labels),
  69. 'slug' => $model->slug,
  70. // 'thumb' => $model->thumb,
  71. 'thumb_resource' => $model->thumb_resource,
  72. 'description' => $model->description,
  73. 'published_at' => $model->published_at,
  74. 'is_rec' => $model->is_rec,
  75. 'is_rec_text' => CourseRecEnum::getDescription($model->is_rec),
  76. 'user_count' => $model->user_count,
  77. 'comment_status' => $model->comment_status,
  78. 'comment_status_text' => CourseCommentStatusEnum::getDescription($model->comment_status),
  79. 'sort' => $model->sort,
  80. 'status' => $model->status,
  81. 'video_nums' => $model->video_nums,
  82. // 'watch_progress' => $model->subscribe ? $model->subscribe->progress : false,
  83. 'watch_progress' => $model->watch_progress,
  84. 'is_collection_status' => $model->is_collection_status,
  85. 'status_test' => ModelStatusEnum::getDescription($model->status),
  86. 'created_at' => $model->created_at->format(Carbon::DEFAULT_TO_STRING_FORMAT),
  87. 'humans' => $model->created_at->diffForHumans(),
  88. 'updated_at' => $model->updated_at->format(Carbon::DEFAULT_TO_STRING_FORMAT)
  89. ];
  90. }
  91. }