UserTransformer.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Repositories\Transformers\Base;
  3. use App\Repositories\Enums\ModelStatusEnum;
  4. use App\Repositories\Models\Base\User;
  5. use League\Fractal\TransformerAbstract;
  6. class UserTransformer extends TransformerAbstract
  7. {
  8. /**
  9. * Prepare data to present.
  10. *
  11. * @param User $user
  12. * @return array
  13. */
  14. public function transform(User $user)
  15. {
  16. // if (request()->has('id')) {
  17. // return [
  18. // 'id' => $user->id,
  19. // 'nickname' => $user->name ?? $user->nickname,
  20. // 'name' => $user->name,
  21. // 'username' => $user->username,
  22. // 'headimg' => $user->headimg,
  23. // 'mobile' => $user->mobile,
  24. // 'sex' => $user->sex,
  25. // 'email' => $user->email,
  26. // 'human_id' => $user->human_id,
  27. // 'is_bind_mobile' => $user->is_bind_mobile,
  28. // 'is_sync_info' => $user->is_sync_info,
  29. // 'last_login_time' => $user->last_login_time,
  30. // 'last_login_ip' => $user->last_login_ip,
  31. // 'wechat_auth_id' => $user->wechat_auth_id,
  32. // 'status' => $user->status,
  33. // 'created_at' => $user->created_at ? $user->created_at->format('Y-m-d H:i:s') : null,
  34. // ];
  35. // }
  36. return [
  37. 'id' => $user->id,
  38. 'nickname' => $user->name ?? $user->nickname,
  39. 'name' => $user->name,
  40. 'username' => $user->username,
  41. 'mobile' => $user->mobile,
  42. 'sex' => $user->sex,
  43. 'email' => $user->email,
  44. 'headimg' => $user->headimg,
  45. 'type' => $user->type,
  46. // 'human_id' => $user->human_id,
  47. // 'is_bind_mobile' => $user->is_bind_mobile,
  48. // 'is_sync_info' => $user->is_sync_info,
  49. 'last_login_time' => $user->last_login_time,
  50. 'last_login_ip' => $user->last_login_ip,
  51. 'wechat_auth_id' => $user->wechat_auth_id,
  52. 'bike_nums' => $user->bikes()->where('status', ModelStatusEnum::OK)->count(),
  53. 'status' => $user->status,
  54. 'department' => $user->department,
  55. 'class_name' => $user->class_name,
  56. 'bikes' => $user->bikes,
  57. 'grade' => $user->grade,
  58. 'user_no' => $user->user_no,
  59. 'remark' => $user->remark,
  60. 'created_at' => $user->created_at ? $user->created_at->format('Y-m-d H:i:s') : null,
  61. ];
  62. }
  63. }