Exemple #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     $this->validate($request, ['title' => 'required|max:255', 'alias' => 'max:255', 'type' => 'required|in:0,1,2,3', 'era' => 'required|in:0,1,2,3,4', 'genre' => 'max:255', 'original' => 'required|in:0,1', 'count' => 'required|integer', 'state' => 'required|in:0,1,2', 'sc' => 'required|max:255', 'poster_url' => 'url']);
     $drama = Drama::find($id);
     $drama->title = $request->input('title');
     $drama->alias = $request->input('alias');
     $drama->type = $request->input('type');
     $drama->era = $request->input('era');
     $drama->genre = $request->input('genre');
     $drama->original = $request->input('original');
     $drama->count = $request->input('count');
     $drama->state = $request->input('state');
     $drama->sc = $request->input('sc');
     $drama->poster_url = $request->input('poster_url');
     $drama->introduction = $request->input('introduction');
     if ($drama->save()) {
         $user_id = $request->user()->id;
         $version = Dramaver::where('drama_id', $id)->where('user_id', $user_id)->first();
         if (!$version) {
             $version = new Dramaver();
             $version->drama_id = $id;
             $version->user_id = $user_id;
             $version->first = 0;
         }
         $version->title = $drama->title;
         $version->alias = $drama->alias;
         $version->type = $drama->type;
         $version->era = $drama->era;
         $version->genre = $drama->genre;
         $version->original = $drama->original;
         $version->count = $drama->count;
         $version->state = $drama->state;
         $version->sc = $drama->sc;
         $version->poster_url = $drama->poster_url;
         $version->introduction = $drama->introduction;
         $version->save();
         return redirect()->route('drama.show', [$id]);
     } else {
         return redirect()->back()->withErrors('修改失败');
     }
 }