CollectionController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Http\Controllers\Course;
  3. use Illuminate\Http\Request;
  4. use App\Models\Course\Collection;
  5. use App\Models\Course\Course;
  6. use Illuminate\Support\Facades\Log;
  7. use Illuminate\Support\Facades\Auth;
  8. use App\Http\Controllers\Controller;
  9. class CollectionController extends Controller
  10. {
  11. //我的收藏
  12. public function getCollection(Request $request)
  13. {
  14. $page_index=$request->input('page_index');
  15. $page_size=$request->input('page_size');
  16. $num=$page_size*($page_index-1);
  17. $user_id=Auth::user()->id;
  18. $count=Collection::where('user_id',$user_id)->count();
  19. $list=Collection::with(['course:id,title,is_share,cate,perface,img,video,audio,c_id,avatar,author,permission,is_top,top_at,state,collection,share,comms,created_at,updated_at'])
  20. ->where('user_id',$user_id)
  21. ->skip($num)->take($page_size)
  22. ->get();
  23. return $this->success_list($list,'',$count);
  24. }
  25. //添加收藏
  26. public function addCollection(Request $request)
  27. {
  28. $user_id=Auth::user()->id;
  29. $course_id=$request->input('course_id');
  30. try{
  31. $coll=Collection::where('user_id',$user_id)->where('course_id',$course_id)->first();
  32. if($coll){
  33. Collection::where('id',$coll->id)->delete();
  34. Course::where('id',$course_id)->decrement('collection');
  35. }else{
  36. Collection::create([
  37. 'user_id'=>$user_id,
  38. 'course_id'=>$course_id
  39. ]);
  40. Course::where('id',$course_id)->increment('collection');
  41. }
  42. return $this->success([]);
  43. }catch(\Exception $e){
  44. return $this->error($e->getMessage());
  45. }
  46. }
  47. }