예제 #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(DriveRequest $request, Drive $drive)
 {
     // Concatenate and format date + times
     $start = join(' ', [$request->input('formatted_start_date'), $request->input('start_time')]);
     $start = str_replace('/', '-', $start);
     $end = join(' ', [$request->input('formatted_end_date'), $request->input('end_time')]);
     $end = str_replace('/', '-', $end);
     // Parse newly created date/time strings into Carbon objects
     // and merge them into the form request
     $request->merge(['start_date' => Carbon::parse($start), 'end_date' => Carbon::parse($end)]);
     // Update Drive with new values
     $drive->fill($request->all())->save();
     // Sync road types, tasks, conditions, etc.
     $this->syncDriveRelations($drive, $request);
     // Create a success flash message
     flash()->success('Drive updated successfully!');
     return redirect('drives')->with('flash_message');
 }