Ejemplo n.º 1
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function busqueda()
 {
     $query = Input::get('q', '');
     if ($query != '') {
         $busca = '%' . $query . '%';
         $pacientes = Pacientes::select('pacientes.id', 'numerohistoria', 'pacientes.nombre', 'pacientes.apellido1', 'pacientes.apellido2')->where(DB::raw('concat(pacientes.nombre, " ", pacientes.apellido1, " ", pacientes.apellido2)'), 'LIKE', $busca)->orWhere(DB::raw('concat(pacientes.apellido1, " ", pacientes.apellido2, " ", pacientes.nombre)'), 'LIKE', $busca)->orWhere('numerohistoria', 'LIKE', $busca)->get();
         $espera = Espera::where('admitido', 1)->leftJoin('profesionales', 'espera.profesional_id', '=', 'profesionales.id')->select('paciente_id', 'profesionales.*')->where('profesionales.activo', 1)->get();
         foreach ($pacientes as $paciente) {
             if (isset($espera[$paciente->id])) {
                 $paciente->admitido = 1;
                 $paciente->prof_asignado = $espera[$paciente->id]->nombre . ', ' . $espera[$paciente->id]->apellido1 . ' ' . $espera[$paciente->id]->apellido2;
             }
         }
         $profesionales = Profesional::orderBy('nombre')->select(DB::raw("CONCAT_WS(' ', nombre, apellido1, apellido2) AS nombre"), 'id')->lists('nombre', 'id');
     } else {
         return Redirect::action('PacientesController@buscar');
     }
     $user = User::leftJoin('sedes_users', 'users.id', '=', 'sedes_users.user_id')->leftJoin('sedes', 'sedes.id', '=', 'sedes_users.sede_id')->find(Auth::id());
     $sedes = Sedes::lists('nombre', 'id');
     return View::make('pacientes.busqueda')->with(array('profesionales' => $profesionales, 'pacientes' => $pacientes, 'espera' => $espera, 'busca' => $query, 'user' => $user, 'sedes' => $sedes));
 }