CourseRepositoryEloquent.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Repositories\Eloquent\Course;
  3. use App\Contracts\Repositories\Course\ChapterRepository;
  4. use App\Repositories\Criteria\Course\CourseCriteria;
  5. use App\Repositories\Criteria\RequestCriteria;
  6. use Prettus\Repository\Eloquent\BaseRepository;
  7. use App\Repositories\Models\Course\Course;
  8. /**
  9. * Class CourseRepositoryEloquent.
  10. *
  11. * @package namespace App\Repositories\Eloquent;
  12. */
  13. class CourseRepositoryEloquent extends BaseRepository implements ChapterRepository
  14. {
  15. /**
  16. * Specify Model class name
  17. *
  18. * @return string
  19. */
  20. public function model()
  21. {
  22. return Course::class;
  23. }
  24. /**
  25. * Boot up the repository, pushing criteria
  26. */
  27. public function boot()
  28. {
  29. $this->pushCriteria(app(RequestCriteria::class));
  30. }
  31. /**
  32. * @return mixed
  33. */
  34. public function searchCoursesByPage()
  35. {
  36. return $this->paginate(request('per_page', 15));
  37. }
  38. /**
  39. * @param $id
  40. *
  41. * @return mixed
  42. */
  43. public function searchCourseBy($id)
  44. {
  45. return $this->find($id);
  46. }
  47. }