AdminTransformer.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Repositories\Transformers\Base;
  3. use App\Repositories\Models\Finance\Shop;
  4. use Carbon\Carbon;
  5. use League\Fractal\TransformerAbstract;
  6. use App\Repositories\Models\Base\Admin;
  7. /**
  8. * Class AdminTransformer.
  9. *
  10. * @package namespace App\Repositories\Transformers\Base;
  11. */
  12. class AdminTransformer extends TransformerAbstract
  13. {
  14. /**
  15. * Transform the Admin entity.
  16. *
  17. * @param \App\Repositories\Models\Base\Admin $model
  18. *
  19. * @return array
  20. */
  21. public function transform(Admin $model)
  22. {
  23. return [
  24. 'id' => (int)$model->id,
  25. 'username' => $model->username,
  26. 'name' => $model->name,
  27. 'headimg' => $model->headimg,
  28. 'department_id' => $model->department_id,
  29. 'department_name' => $model->department ? $model->department->name : '--',
  30. 'status' => $model->status,
  31. 'role_id' => $model->role_id,
  32. 'role_name' => $model->id == 1 ? '超级管理员' : ($model->role ? $model->role->name : '--'),
  33. 'shop_ids' => $model->shop_ids,
  34. 'shops_name' => in_array(0, $model->shop_ids) ? ['全部'] : Shop::query()->whereIn('id', $model->shop_ids)->pluck('name'),
  35. 'created_at' => $model->created_at->format(Carbon::DEFAULT_TO_STRING_FORMAT),
  36. 'updated_at' => $model->updated_at->format(Carbon::DEFAULT_TO_STRING_FORMAT)
  37. ];
  38. }
  39. }