middleware('auth'); View::share('nav', 2); } public function index(Request $request) { $type = $request->type ?? 'SellerLesson'; $item_type = "App\Models\\" . $type; $lists = Favorite::mine()->where('item_type', $item_type)->get(); return view('favorite.index', compact('lists', 'type')); } public function lesson(Request $request, SellerLesson $lesson) { $favorite = Favorite::where('item_type', 'App\Models\SellerLesson')->where('item_id', $lesson->id)->where('user_id', Auth::id())->first(); if (!$lesson) { return $this->error('没有这个课程'); } if ($favorite) { $favorite->delete(); return $this->success('课程取消收藏成功'); } else { Auth::user()->lessonFavorite()->create([ 'item_id' => $lesson->id, 'item_type' => get_class($lesson), ]); return $this->success('课程收藏成功'); } } public function seller(Request $request, Seller $seller) { $favorite = Favorite::where('item_type', 'App\Models\Seller')->where('item_id', $seller->id)->where('user_id', Auth::id())->first(); if (!$seller) { return $this->error('没有这个机构'); } if ($favorite) { $favorite->delete(); return $this->success('机构取消收藏成功'); } else { Auth::user()->sellerFavorite()->create([ 'item_id' => $seller->id, 'item_type' => get_class($seller), ]); return $this->success('机构收藏成功'); } } public function activity(Request $request, Activity $activity) { $favorite = Favorite::where('item_type', 'App\Models\Activity')->where('item_id', $activity->id)->where('user_id', Auth::id())->first(); if (!$activity) { return $this->error('没有这个生活/服务'); } if ($favorite) { $favorite->delete(); return $this->success('生活/服务取消收藏成功'); } else { Auth::user()->sellerFavorite()->create([ 'item_id' => $activity->id, 'item_type' => get_class($activity), ]); return $this->success('生活/服务收藏成功'); } } }