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); } }
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('修改失败'); } }