/** * 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)); }