Просмотр файла app/Repositories/UserRepository.php

Размер файла: 806B
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. namespace App\Repositories;
  6.  
  7. use App\Models\User;
  8. use MotorORM\CollectionPaginate;
  9.  
  10. class UserRepository implements RepositoryInterface
  11. {
  12. /**
  13. * Get by id
  14. *
  15. * @param int $id
  16. *
  17. * @return User
  18. */
  19. public function getById(int $id): User
  20. {
  21. return User::query()->find($id);
  22. }
  23.  
  24. /**
  25. * Get count users
  26. *
  27. * @return int
  28. */
  29. public function getCount(): int
  30. {
  31. return User::query()->count();
  32. }
  33.  
  34. /**
  35. * Get stories
  36. *
  37. * @param int $perPage
  38. *
  39. * @return CollectionPaginate<User>
  40. */
  41. public function getUsers(int $perPage): CollectionPaginate
  42. {
  43. return User::query()
  44. ->orderByDesc('created_at')
  45. ->paginate($perPage);
  46. }
  47. }