public function getDemandantesDT() { $demandantes = new Demandante(); if ($searchValue = Input::get("search.value")) { $demandantes = $demandantes->join('usuarios', 'demandantes.usuario_id', '=', 'usuarios.id')->leftJoin('provincias', 'usuarios.provincia_id', '=', 'provincias.id')->leftJoin('municipios', 'usuarios.municipio_id', '=', 'municipios.id')->join('areasEmpleo', 'demandantes.areaEmpleo_id', '=', 'areasEmpleo.id')->join('subareasEmpleo', 'demandantes.subareaEmpleo_id', '=', 'subareasEmpleo.id')->where(function ($query) use($searchValue) { $query->orWhere('usuarios.nombre', 'LIKE', "%{$searchValue}%")->orWhere('usuarios.apellidos', 'LIKE', "%{$searchValue}%")->orWhere('provincias.NOMBRE', 'LIKE', "%{$searchValue}%")->orWhere('municipios.NOMBRE', 'LIKE', "%{$searchValue}%")->orWhere('areasEmpleo.nombre', 'LIKE', "%{$searchValue}%")->orWhere('subareasEmpleo.nombre', 'LIKE', "%{$searchValue}%"); })->select("demandantes.*"); } $filteredCount = $demandantes->count(); $demandantes = $demandantes->skip($_GET['start'])->take($_GET['length'])->get(); $demandantes->load("areaEmpleo"); $demandantes->load("subareaEmpleo"); $demandantes->load(array("usuarios.provincias", "usuarios.municipios")); foreach ($demandantes as $index => $demandante) { $demandantes[$index]['DT_RowId'] = 'row_' . $demandante->id; } $return['draw'] = Input::get('draw'); $return['data'] = $demandantes; $return['recordsTotal'] = Demandante::count(); $return['recordsFiltered'] = $filteredCount; return $return; }