TrainTeacherRepository.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Repositories\Train;
  3. use App\Models\Category;
  4. use App\Models\Train\TrainCourse;
  5. use App\Models\Train\TrainTeacher;
  6. use Prettus\Repository\Eloquent\BaseRepository;
  7. use Prettus\Repository\Criteria\RequestCriteria;
  8. /**
  9. * Class TrainCourseRepositoryRepositoryEloquent.
  10. *
  11. * @package namespace App\Repositories;
  12. */
  13. class TrainTeacherRepository extends BaseRepository
  14. {
  15. /**
  16. * Specify Model class name
  17. *
  18. * @return string
  19. */
  20. public function model()
  21. {
  22. return TrainTeacher::class;
  23. }
  24. public function teachers($where){
  25. return $this->model->where($where)->with('Category')->orderBy('created_at', 'desc')->paginate(request('limit',5), ['*']);
  26. }
  27. public function teacherAll($where=[]){
  28. return $this->model->where($where)->where(['audit'=>1])->with('Category')->orderBy('created_at', 'desc')->get();
  29. }
  30. public function teacherSelect($where=[])
  31. {
  32. return $this->model->select('id', 'name')->where($where)->where('audit','<>',2)->pluck( 'name','id')->toArray();
  33. }
  34. public function teacherDel($id,$company_id){
  35. return $this->model->whereIn('id',$id)->where(['created_by'=>$company_id])->delete();
  36. }
  37. //讲师对应的课程
  38. public function teachersCourse($ids){
  39. return TrainCourse::whereIn('teacher',$ids)->count();
  40. }
  41. /**
  42. * Boot up the repository, pushing criteria
  43. */
  44. public function boot()
  45. {
  46. $this->pushCriteria(app(RequestCriteria::class));
  47. }
  48. }