CategoryRepositoryEloquent.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Repositories\Eloquent\Course;
  3. use App\Repositories\Criteria\Course\CategoryCriteria;
  4. use App\Repositories\Criteria\RequestCriteria;
  5. use App\Repositories\Models\Course\Category;
  6. use Prettus\Repository\Eloquent\BaseRepository;
  7. use App\Contracts\Repositories\Course\ChapterRepository;
  8. /**
  9. * Class CourseChapterRepositoryEloquent.
  10. *
  11. * @package namespace App\Repositories\Eloquent;
  12. */
  13. class CategoryRepositoryEloquent extends BaseRepository implements ChapterRepository
  14. {
  15. protected $fieldSearchable = [
  16. // 'name' => 'like', Default Condition "="
  17. ];
  18. /**
  19. * Specify Model class name.
  20. *
  21. * @return string
  22. */
  23. public function model()
  24. {
  25. return Category::class;
  26. }
  27. /**
  28. * Boot up the repository, pushing criteria.
  29. *
  30. * @throws \Prettus\Repository\Exceptions\RepositoryException
  31. */
  32. public function boot()
  33. {
  34. $this->pushCriteria(app(RequestCriteria::class));
  35. }
  36. /**
  37. * @return mixed
  38. */
  39. public function searchCategoryByPage()
  40. {
  41. return $this->paginate(request('per_page', 15));
  42. }
  43. /**
  44. * @param $id
  45. *
  46. * @return mixed
  47. */
  48. public function searchCategoryBy($id)
  49. {
  50. return $this->find($id);
  51. }
  52. }