BannerTransformer.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Repositories\Transformers\Base;
  3. use App\Repositories\Models\Base\Banner;
  4. use League\Fractal\TransformerAbstract;
  5. class BannerTransformer extends TransformerAbstract
  6. {
  7. /**
  8. * Prepare data to present.
  9. *
  10. * @param Banner $banner
  11. * @return array
  12. */
  13. public function transform(Banner $banner)
  14. {
  15. if (isApiModule()) {
  16. return [
  17. 'id' => $banner->id,
  18. 'name' => $banner->name,
  19. 'url' => $banner->url,
  20. 'type' => $banner->type,
  21. 'click_type' => $banner->click_type,
  22. 'click_body' => $banner->click_body,
  23. ];
  24. }
  25. return [
  26. 'id' => $banner->id,
  27. 'name' => $banner->name,
  28. 'cover' => $banner->cover,
  29. 'url' => $banner->url,
  30. 'type' => $banner->type,
  31. 'click_type' => $banner->click_type,
  32. 'click_body' => $banner->click_body,
  33. 'start_time' => $banner->start_time,
  34. 'end_time' => $banner->end_time,
  35. 'sort' => $banner->sort,
  36. 'status' => $banner->status,
  37. 'updated_at' => $banner->updated_at ? $banner->updated_at->format('Y-m-d H:i:s') : null,
  38. ];
  39. }
  40. }