use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Cache; use Illuminate\Pagination\LengthAwarePaginator; public function search(Request $request) { $search = $request->input('busca'); $search_clean = trim($search); $page = $request->input('page', 1); $perPage = 75; // Verifica se é a primeira página $isFirstPage = ($page == 1); // Gera a chave de cache apenas para a página 1 $cacheKey = "search_fulltext_" . md5($search_clean); if ($isFirstPage) { // Cache apenas na primeira página $results = Cache::remember($cacheKey, now()->addHours(6), function () use ($search_clean, $perPage) { return DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); }); } else { // Outras páginas não são cacheadas para evitar lentidão $results = DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); } return view('resultssearch') ->with('results_search', $results) ->with('busca', $search_clean); } use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Cache; use Illuminate\Pagination\LengthAwarePaginator; public function search(Request $request) { $search = $request->input('busca'); $search_clean = trim($search); $page = $request->input('page', 1); $perPage = 75; // Verifica se é a primeira página $isFirstPage = ($page == 1); // Gera a chave de cache apenas para a página 1 $cacheKey = "search_fulltext_" . md5($search_clean); if ($isFirstPage) { // Cache apenas na primeira página $results = Cache::remember($cacheKey, now()->addHours(6), function () use ($search_clean, $perPage) { return DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); }); } else { // Outras páginas não são cacheadas para evitar lentidão $results = DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); } return view('resultssearch') ->with('results_search', $results) ->with('busca', $search_clean); } use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Cache; use Illuminate\Pagination\LengthAwarePaginator; public function search(Request $request) { $search = $request->input('busca'); $search_clean = trim($search); $page = $request->input('page', 1); $perPage = 75; // Verifica se é a primeira página $isFirstPage = ($page == 1); // Gera a chave de cache apenas para a página 1 $cacheKey = "search_fulltext_" . md5($search_clean); if ($isFirstPage) { // Cache apenas na primeira página $results = Cache::remember($cacheKey, now()->addHours(6), function () use ($search_clean, $perPage) { return DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); }); } else { // Outras páginas não são cacheadas para evitar lentidão $results = DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); } return view('resultssearch') ->with('results_search', $results) ->with('busca', $search_clean); } use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Cache; use Illuminate\Pagination\LengthAwarePaginator; public function search(Request $request) { $search = $request->input('busca'); $search_clean = trim($search); $page = $request->input('page', 1); $perPage = 75; // Verifica se é a primeira página $isFirstPage = ($page == 1); // Gera a chave de cache apenas para a página 1 $cacheKey = "search_fulltext_" . md5($search_clean); if ($isFirstPage) { // Cache apenas na primeira página $results = Cache::remember($cacheKey, now()->addHours(6), function () use ($search_clean, $perPage) { return DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); }); } else { // Outras páginas não são cacheadas para evitar lentidão $results = DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); } return view('resultssearch') ->with('results_search', $results) ->with('busca', $search_clean); } use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Cache; use Illuminate\Pagination\LengthAwarePaginator; public function search(Request $request) { $search = $request->input('busca'); $search_clean = trim($search); $page = $request->input('page', 1); $perPage = 75; // Verifica se é a primeira página $isFirstPage = ($page == 1); // Gera a chave de cache apenas para a página 1 $cacheKey = "search_fulltext_" . md5($search_clean); if ($isFirstPage) { // Cache apenas na primeira página $results = Cache::remember($cacheKey, now()->addHours(6), function () use ($search_clean, $perPage) { return DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); }); } else { // Outras páginas não são cacheadas para evitar lentidão $results = DB::table('empresasfts') ->select('cnpj', 'razao_social', 'nome_fantasia', 'nome_socio_razao_social', 'mun_descricao') ->whereRaw("ttsi @@ plainto_tsquery('pg_catalog.portuguese', ?)", [$search_clean]) ->orderBy('razao_social', 'ASC') ->paginate($perPage); } return view('resultssearch') ->with('results_search', $results) ->with('busca', $search_clean); } Server Error
500
Server Error