public function search(SearchRequest $request)
 {
     if (!$request->has('search')) {
         return redirect()->route('admin::usuarios::create');
     }
     $usuarios = User::search($request->search)->with('state', 'diagnostics')->get();
     return view('admin.user.result')->with('usuarios', $usuarios);
 }
 /**
  * Creamos el usuario a través del registro y le asignamos el rol de usuario
  */
 public function showRegisterPost(RegisterRequest $request)
 {
     $form = collect_clean($request->all());
     $request['password'] = bcrypt($request->password);
     $user = User::create($form->toArray());
     $user->attachRole(2);
     alert('Cuenta creada correctamente, puede iniciar sesión');
     return redirect()->route('showLogin');
 }
 public function profile_update(ProfileRequest $request)
 {
     // Comprobar si el email existe solo si se ha cambiado el email
     if ($request->email != auth()->user()->email) {
         $user = User::whereEmail($request->email)->get();
         if (!empty($user)) {
             alert('El email ingresado ya existe', 'danger');
             return redirect()->back();
         }
     }
     $state = State::findOrFail($request->state);
     $user = auth()->user();
     $user->state()->associate($state);
     $user->update($request->all());
     alert('Se modificaron los datos con éxito');
     return redirect()->back();
 }
 public function top_users_diagnostics()
 {
     $users = User::with('diagnostics')->get();
     $users = $users->sortByDesc(function ($user) {
         return $user->diagnostics->count();
     });
     $users = $users->take(5);
     foreach ($users as $user) {
         $data[] = ['label' => "{$user->name} {$user->lastname}", 'value' => $user->diagnostics->count()];
     }
     return response()->json($data);
 }