CateController.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace App\Http\Controllers\Course;
  3. use Illuminate\Http\Request;
  4. use App\Models\Course\Course;
  5. use App\Models\Course\Cate;
  6. use App\Http\Controllers\Controller;
  7. class CateController extends Controller
  8. {
  9. //获取分类
  10. public function getCate(Request $request)
  11. {
  12. $page_index=$request->input('page_index');
  13. $page_size=$request->input('page_size');
  14. $num=$page_size*($page_index-1);
  15. $pid=$request->input('pid');
  16. $count=Cate::query()->where('pid',$pid)->count();
  17. $list=Cate::query()->where('pid',$pid)
  18. ->withCount(['course'=>function($query){
  19. $query->where('state','1');
  20. }])
  21. ->orderBy('sort','desc')->orderBy('id','desc')
  22. ->skip($num)->take($page_size)
  23. ->get();
  24. if($pid==0){
  25. foreach($list as $key=>$val){
  26. $cate_id=Cate::query()->where('pid',$val->id)->pluck('id');
  27. $list[$key]->course_count=Course::where('state','1')->whereIn('c_id',$cate_id)->count();
  28. }
  29. }
  30. return $this->success_list($list,'',$count);
  31. }
  32. }