Filter with pagination - Laravel [duplicate]

2

Good evening,

The filter itself appears right, but when you go to another page (by pagination), you lose this filter.

I can not find the problem, can anyone help me?

My route:

Route::any('/recentes-pesquisa','ActionsRecentsController@recentes')->name('recentes.pesquisa');

Controller

 $dataForm = $request->except('_token');           
    if (isset($dataForm['num'])){
            $buscaNotas = DB::table('notas')->join('status_notas', 'notas.cd_nota', '=', 'status_notas.cd_nota')->join('prestador','notas.cd_prestador','=','prestador.cd_prestador')->join('competencia','notas.comp_nota','=','competencia.cd_competencia')->select('notas.*', 'status_notas.*','prestador.*','competencia.*')
        ->where('notas.nro_nota', '=', $dataForm['num'])->paginate(10); 
        }
        elseif((isset($dataForm['num'])and ($dataForm['prestador']))){
         $buscaNotas = DB::table('notas')->join('status_notas', 'notas.cd_nota', '=', 'status_notas.cd_nota')->join('prestador','notas.cd_prestador','=','prestador.cd_prestador')->join('competencia','notas.comp_nota','=','competencia.cd_competencia')->select('notas.*', 'status_notas.*','prestador.*','competencia.*')
        ->where('notas.nro_nota', '=', $dataForm['num']) 
        ->where('prestador.nm_prestador','like UPPER',$dataForm['prestador'])->paginate(10);     
        }elseif(isset($dataForm['data_emissao'])){
         $buscaNotas = DB::table('notas')->join('status_notas', 'notas.cd_nota', '=', 'status_notas.cd_nota')->join('prestador','notas.cd_prestador','=','prestador.cd_prestador')->join('competencia','notas.comp_nota','=','competencia.cd_competencia')->select('notas.*', 'status_notas.*','prestador.*','competencia.*')   
        ->whereBetween('notas.dt_emissao_nota',[$dataForm['data_emissao'],$dataForm['data_emissao']])->paginate(10);    
        }


     else{    //se n selecionou nenhum filtro... 
     $buscaNotas = DB::table('notas')
        ->join('status_notas', 'notas.cd_nota', '=', 'status_notas.cd_nota')
        ->join('prestador','notas.cd_prestador','=','prestador.cd_prestador')
        ->join('competencia','notas.comp_nota','=','competencia.cd_competencia')
        ->select('notas.*', 'status_notas.*','prestador.*','competencia.*')
        ->where('notas.comp_nota', '=', 1)
        ->paginate(10);
     }

      return view('\recent')->with('notas_recentes', $buscaNotas)
                            ->with('dataForm',$dataForm);

View:

  {{ $notas_recentes->appends(['dataForm' => $dataForm])->links() }}

The URL looks like this: a>

By clicking on the second page, it looks like this: link

    
asked by anonymous 24.08.2018 / 00:41

1 answer

3

I solved my problem by changing my view:

  {{ $notas_recentes->appends(['dataForm' => $dataForm])->links() }}

To:

{{ $notas_recentes->appends($dataForm)->links() }}
    
24.08.2018 / 01:36