public function postFichaDemandante($id) { $demandante = Demandante::find($id); $data = $_POST; $funciones = array(); $funcionesToDetach = array(); foreach ($data as $index => $value) { if ($index == "field_funciones") { foreach ($value as $grupoFuncion => $valoresFuncion) { foreach ($valoresFuncion as $valorFuncion) { $funcionesToDetach[$grupoFuncion] = $valorFuncion; if ($valorFuncion != "multi-dummy") { $funciones[$grupoFuncion] = $valorFuncion; } } } } } foreach ($funcionesToDetach as $grupoFuncion => $value) { $funcionesToDetach = Funcion::whereGrupoId($grupoFuncion)->get(); foreach ($funcionesToDetach as $funcionId) { $demandante->funciones()->detach($funcionId); } } foreach ($funciones as $grupoFuncion => $value) { $demandante->funciones()->attach($value); } unset($data["field_funciones"]); if (isset($data["field_fecha_sepe"])) { $data["field_fecha_sepe"] = DateSql::changeToSql($data["field_fecha_sepe"]); } $this->saveCRUDForm($demandante, $data); return Redirect::back()->withOk("Ficha modificada con éxito"); }