Esempio n. 1
0
 public function update2(Request $request, $episode_id)
 {
     $validator = Validator::make($request->all(), ['content' => 'required_with:title', 'visible' => 'required_with:content', 'type' => 'required|in:0,2,4', 'rating' => 'in:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5', 'title' => 'max:255']);
     if ($validator->fails()) {
         return response($validator->messages(), 422);
     }
     $favorite = Epfav::where('user_id', $request->user()->id)->where('episode_id', $episode_id)->first();
     $oldType = $favorite->type;
     $favorite->type = $request->input('type');
     if ($favorite->type == 0) {
         $favorite->rating = 0;
     } else {
         $favorite->rating = $request->input('rating');
     }
     $result = DB::table('epfavs')->where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->update(['type' => $favorite->type, 'rating' => $favorite->rating, 'updated_at' => date("Y-m-d H:i:s")]);
     if ($result) {
         DB::table('users')->where('id', $favorite->user_id)->decrement('epfav' . $oldType);
         DB::table('users')->where('id', $favorite->user_id)->increment('epfav' . $favorite->type);
         $review = Review::where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->first();
         if ($review) {
             $review->title = $request->input('title');
             $review->content = $request->input('content');
             $review->visible = $request->input('visible');
             if (!$review->save()) {
                 return response('收藏修改成功,评论修改失败> <', 422);
             }
         } else {
             if ($request->has('content')) {
                 $review = new Review();
                 $review->user_id = $favorite->user_id;
                 $review->drama_id = $request->input('drama_id');
                 $review->episode_id = $favorite->episode_id;
                 $review->title = $request->input('title');
                 $review->content = $request->input('content');
                 $review->visible = $request->input('visible');
                 if ($review->save()) {
                     DB::table('users')->where('id', $review->user_id)->increment('reviews');
                     DB::table('dramas')->where('id', $review->drama_id)->increment('reviews');
                     DB::table('episodes')->where('id', $review->episode_id)->increment('reviews');
                 } else {
                     return response('收藏修改成功,评论添加失败> <', 422);
                 }
             }
         }
         return ['result' => 'success'];
     } else {
         return response('修改失败> <', 422);
     }
 }
Esempio n. 2
0
 public function update2(Request $request, $episode_id)
 {
     $this->validate($request, ['content' => 'required_with:title', 'visible' => 'required_with:content', 'type' => 'required|in:0,2,4', 'rating' => 'in:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5', 'title' => 'max:255']);
     $favorite = Epfav::where('user_id', $request->user()->id)->where('episode_id', $episode_id)->first();
     $oldType = $favorite->type;
     $favorite->type = $request->input('type');
     if ($favorite->type == 0) {
         $favorite->rating = 0;
     } else {
         $favorite->rating = $request->input('rating');
     }
     //修改收藏
     $result = DB::table('epfavs')->where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->update(['type' => $favorite->type, 'rating' => $favorite->rating, 'updated_at' => date("Y-m-d H:i:s")]);
     if ($result) {
         DB::table('users')->where('id', $favorite->user_id)->decrement('epfav' . $oldType);
         DB::table('users')->where('id', $favorite->user_id)->increment('epfav' . $favorite->type);
         $review = Review::where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->first();
         if ($review) {
             $review->title = $request->input('title');
             $review->content = $request->input('content');
             $review->visible = $request->input('visible');
             if (!$review->save()) {
                 return redirect()->back()->withInput()->withErrors('收藏修改成功,评论修改失败');
             }
         } else {
             if ($request->has('content')) {
                 $review = new Review();
                 $review->user_id = $favorite->user_id;
                 $review->drama_id = $request->input('drama_id');
                 $review->episode_id = $favorite->episode_id;
                 $review->title = $request->input('title');
                 $review->content = $request->input('content');
                 $review->visible = $request->input('visible');
                 if ($review->save()) {
                     DB::table('users')->where('id', $review->user_id)->increment('reviews');
                     DB::table('dramas')->where('id', $review->drama_id)->increment('reviews');
                     DB::table('episodes')->where('id', $review->episode_id)->increment('reviews');
                 } else {
                     return redirect()->back()->withInput()->withErrors('收藏修改成功,评论添加失败');
                 }
             }
         }
         return redirect()->route('episode.show', [$episode_id]);
     } else {
         return redirect()->back()->withInput()->withErrors('修改失败');
     }
 }