UserMessageRepositoryEloquent.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Repositories\Eloquent\Base;
  3. use App\Contracts\Repositories\Base\UserMessageRepository;
  4. use App\Repositories\Models\Base\UserMessage;
  5. use Illuminate\Support\Facades\Auth;
  6. use Prettus\Repository\Criteria\RequestCriteria;
  7. use Prettus\Repository\Eloquent\BaseRepository;
  8. class UserMessageRepositoryEloquent extends BaseRepository implements UserMessageRepository
  9. {
  10. protected $fieldSearchable = [
  11. // 'name' => 'like', Default Condition "="
  12. ];
  13. /**
  14. * Specify Model class name.
  15. *
  16. * @return string
  17. */
  18. public function model()
  19. {
  20. return UserMessage::class;
  21. }
  22. /**
  23. * Boot up the repository, pushing criteria.
  24. *
  25. * @throws \Prettus\Repository\Exceptions\RepositoryException
  26. */
  27. public function boot()
  28. {
  29. $this->pushCriteria(app(RequestCriteria::class));
  30. }
  31. /**
  32. * @return mixed
  33. */
  34. public function searchUserMessagesByPage()
  35. {
  36. return $this->paginate(request('per_page', 15));
  37. }
  38. /**
  39. * 获取我的未读信息
  40. * @return mixed
  41. */
  42. public function searchMeMessagesByPage($guard)
  43. {
  44. return $this->paginate(request('per_page', 15));
  45. }
  46. /**
  47. * @param $id
  48. *
  49. * @return mixed
  50. */
  51. public function searchUserMessageBy($id)
  52. {
  53. return $this->find($id);
  54. }
  55. /**
  56. * 读全部信息
  57. * @param $guard
  58. * @return mixed
  59. */
  60. public function readAllMessages($guard)
  61. {
  62. $user = Auth::guard($guard)->user();
  63. return $this->where('user_id', $user->id)->where('user_type', get_class($user))->where('is_read', UserMessage::IS_READ_NO)->update(['is_read' => UserMessage::IS_READ_OK]);
  64. }
  65. }