UserPresenter.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Presenters;
  3. use App\Transformers\UserTransformer;
  4. use Prettus\Repository\Presenter\FractalPresenter;
  5. use App\Repositories\UserRepositoryEloquent;
  6. /**
  7. * Class UserPresenter
  8. *
  9. * @package namespace App\Presenters;
  10. */
  11. class UserPresenter extends FractalPresenter
  12. {
  13. protected $user;
  14. public function __construct(UserRepositoryEloquent $user)
  15. {
  16. $this->user = $user;
  17. parent::__construct();
  18. }
  19. /**
  20. * Transformer
  21. *
  22. * @return \League\Fractal\TransformerAbstract
  23. */
  24. public function getTransformer()
  25. {
  26. return new UserTransformer();
  27. }
  28. public function getUserName($userId)
  29. {
  30. $user = $this->user->find($userId, ['name']);
  31. if ($user) {
  32. return $user->name;
  33. }
  34. }
  35. public function getUserInfo($userId = 0) {
  36. $columns = ['id', 'name', 'user_pic'];
  37. if ($userId > 0) {
  38. return $this->user->find($userId, $columns);
  39. }
  40. return $this->user->first($columns);
  41. }
  42. }