UserRepositoryEloquent.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Repositories;
  3. use Prettus\Repository\Eloquent\BaseRepository;
  4. use Prettus\Repository\Criteria\RequestCriteria;
  5. use App\Repositories\UserRepository;
  6. use App\Models\User;
  7. /**
  8. * Class UserRepositoryEloquent
  9. * @package namespace App\Repositories;
  10. */
  11. class UserRepositoryEloquent extends BaseRepository implements UserRepository
  12. {
  13. /**
  14. * Specify Model class name
  15. *
  16. * @return string
  17. */
  18. public function model()
  19. {
  20. return User::class;
  21. }
  22. public function store(array $input, $avatar){
  23. $attr['email'] = $input['email'];
  24. $attr['password'] = bcrypt($input['password']);
  25. $attr['name'] = $input['name'];
  26. if ($avatar != "") {
  27. $attr['user_pic'] = $avatar;
  28. }
  29. if (parent::create($attr)) {
  30. return true;
  31. }
  32. return false;
  33. }
  34. public function updateUser(array $input, $id, $avatar = '')
  35. {
  36. $attr['email'] = $input['email'];
  37. $attr['name'] = $input['name'];
  38. if ($input['password'] != "") {
  39. $attr['password'] = bcrypt($input['password']);
  40. }
  41. if ($avatar != "") {
  42. $attr['user_pic'] = $avatar;
  43. }
  44. if (parent::update($attr, $id)) {
  45. return true;
  46. }
  47. return false;
  48. }
  49. /**
  50. * Boot up the repository, pushing criteria
  51. */
  52. public function boot()
  53. {
  54. $this->pushCriteria(app(RequestCriteria::class));
  55. }
  56. }