/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // si es un update comun if ($request->input('special_form') == "") { $event = Event::find($id); $friendly_url = $event->friendly_url; // if has file if ($request->hasFile('poster')) { $image_name = $this->uploadImage($request->file('poster'), 'events', $friendly_url); } else { $image_name = "none.jpg"; } $event->fill($request->all()); $event->poster = $image_name; $event->save(); // save categories rel if (!empty($request->input('category'))) { // first remove all rels Category_to_Event::deleteAllRelByEventId($id); foreach ($request->input('category') as $cat) { Category_to_Event::create(['category_id' => $cat, 'event_id' => $id]); } } } else { if ($request->input('special_form') == 'showdates') { // first delete all Eventdate::deleteAllByEventID($id); // insert $qty = count($request->input('date_start')); for ($i = 0; $i < $qty; $i++) { Eventdate::create(['event_id' => $id, 'date_start' => date("Y-m-d H:i:s", strtotime($request->input('date_start')[$i] . " " . $request->input('hour_start')[$i] . ":00")), 'date_end' => date("Y-m-d H:i:s", strtotime($request->input('date_start')[$i] . " " . $request->input('hour_end')[$i] . ":00")), 'hour_start' => $request->input('hour_start')[$i], 'hour_end' => $request->input('hour_end')[$i], 'status' => 1]); } } elseif ($request->input('special_form') == 'casting') { // first delete all People_to_Rols::deleteAllByEventID($id); // for each element $qty = count($request->input('rol')); for ($i = 0; $i < $qty; $i++) { // select People $person = Person::getPersonByName(ucfirst(strtolower($request->input('firstname')[$i])), ucfirst(strtolower($request->input('lastname')[$i]))); if (empty($person)) { // guardo la persona y traigo el ultimo id Person::create(['user_id' => 0, 'firstname' => $request->input('firstname')[$i], 'lastname' => $request->input('lastname')[$i], 'status' => 1]); $person = Person::getLastID(); } else { $person = $person[0]->person_id; } // inser into rel table People_to_Rols::create(['event_id' => $id, 'rol_id' => $request->input('rol')[$i], 'person_id' => $person]); } } } Session::flash('message', 'Evento actualizado Correctamente'); return Redirect::to('events'); }