public function search() { $query = strtoupper(Input::get("q")); //query $team = strtoupper(Input::get("t")); //team $exclude = Input::get("e"); //id's A EXCLUIR DE LOS RESULTADOS $notInID[] = 0; $notInTR[] = 0; $club = TorneoClub::find($team)->club_id; if (!is_null($exclude)) { //armo el arreglo con los resultados a excluir de la visual. foreach ($exclude as $e) { $notInID[] = $e; } } if ((int) $query > 0) { // BUSQUEDA POR CARNET O DOCUMENTO if ((int) $query < 999999) { // BUSQUEDA POR CARNET $trayectoria = Trayectoria::with('socio')->with('club')->select('trayectorias.*')->join('socios', 'socios.id', '=', 'trayectorias.socio_id')->join('clubes', 'clubes.id', '=', 'trayectorias.club_id')->where('socios.carnet', $query)->whereNull('trayectorias.baja')->get(); //if (count($trayectoria)==0) { if ($trayectoria->isEmpty() or $trayectoria->first()->club_id == $club) { $results = Socio::with('persona.tipo_documento')->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->join('trayectorias', 'trayectorias.socio_id', '=', 'socios.id')->where('socios.carnet', $query)->whereNotIn('socios.id', $notInID)->whereNull('trayectorias.baja')->limit('10')->get(); } else { return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador con carnet <strong>' . $query . '</strong> ya esta asociado a <strong>' . $trayectoria[0]->club->nombre . '</strong>']]); } } else { //BUSQUEDA POR DOCUMENTO $trayectoria = Trayectoria::with('socio.persona')->with('club')->whereNull('trayectorias.baja')->select('*')->join('socios', 'socios.id', '=', 'trayectorias.socio_id')->join('personas', 'personas.id', '=', 'socios.persona_id')->join('clubes', 'clubes.id', '=', 'trayectorias.club_id')->where("personas.documento", 'LIKE', '%' . $query . '%')->get(); //if (count($trayectoria)==0) { if ($trayectoria->isEmpty() or $trayectoria->first()->club_id == $club) { $results = Socio::with("persona.tipo_documento.pais")->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->join('trayectorias', 'trayectorias.socio_id', '=', 'socios.id')->where("documento", 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->whereNull('trayectorias.baja')->limit('10')->get(); } else { return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador con documento <strong>' . $query . '</strong> ya esta asociado a <strong>' . $trayectoria[0]->nombre . '</strong>']]); } } } else { //BUSQUEDA POR NOMBRE Y APELLIDO /* $trayectoria = Trayectoria::with('socio') ->with('club') ->select('trayectorias.*') ->join('socios','socios.id','=','trayectorias.socio_id') ->join('clubes','clubes.id','=','trayectorias.club_id') ->join('personas', 'personas.id', '=', 'socios.persona_id') ->where('club.id','!=',$team) ->whereNull('trayectorias.baja') ->where(DB::raw('CONCAT(personas.nombre, " ", personas.apellido)'),'LIKE','%'.$query.'%') ->orWhere(DB::raw('CONCAT(personas.apellido, " ", personas.nombre)'),'LIKE','%'.$query.'%') ->get(); */ $results = Socio::with("persona.tipo_documento.pais")->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->join('trayectorias', 'trayectorias.socio_id', '=', 'socios.id')->where(DB::raw('CONCAT(personas.nombre, " ", personas.apellido)'), 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->orWhere(DB::raw('CONCAT(personas.apellido, " ", personas.nombre)'), 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->whereNull('trayectorias.baja')->limit('10')->get(); } //if (count($results)) { foreach ($results as $socio) { $socio->edad_limite = $socio->edad_limite; $socio->persona->edad = $socio->persona->edad; // $socio->persona->inverse_full_name = $socio->persona->inverse_full_name; $socio->route_show = route('people.socios.show', $socio->id); } //} return response()->json(['result' => 'Ok', 'response' => $results]); }