function edit(ProfileRequest $request) { $input = $request->all(); $user = Auth::user(); if ($input['type'] == 'account') { $user->name = $input['name']; $user->email = $input['email']; $user->save(); } elseif ($input['type'] == 'password') { $user->password = bcrypt($input['new_password']); $user->save(); } elseif ($input['type'] == 'data') { // Remove empty inputs $input = array_filter($input); // Create new row in user data if none exists if (is_null($user->data)) { $data = new UserData(); $data->user_id = $user->id; $data->save(); $data->update($input); } else { $user->data->update($input); } } $request->session()->flash('success', 'Your profile was updated.'); return redirect('/profile'); }