public function update(Request $request, $id) { try { if ($request->has('type')) { $type = $request->input('type'); switch ($type) { case 'restore': $entities = Entity::withTrashed()->where('id', $id)->get(); foreach ($entities as $n) { $n->restore(); $n->alarms()->restore(); } break; } } else { $n = Entity::findOrFail($id); $n->name = $request->input('name'); $n->save(); foreach ($n->type->attributes as $attribute) { $name = $attribute->systemName(); if ($request->has($name)) { $a = $n->attribute($name); $a->value = $request->input($name); $a->save(); } } } Session::flash('message_type', 'success'); Session::flash('message', 'Elemento aggiornato correttamente.'); } catch (\Exception $e) { Session::flash('message_type', 'danger'); Session::flash('message', 'Elemento non aggiornato correttamente: ' . $e->getMessage()); } return redirect('entities/' . $n->type->id); }