Home > Software design >  Laravel withQueryString does not exist after calling paginate method on query builder
Laravel withQueryString does not exist after calling paginate method on query builder

Time:11-18

Method Illuminate\Database\Eloquent\Collection::withQueryString does not exist.

when i write this code it gives this error

blade;

<div class="float-right">{{ $modeller->withQueryString()->links()}}</div>

controller;

public function index(){

    $modeller = Modeller::query();
    $koleksiyonlar = Koleksiyon::all();
    $modelistler = Modelist::all();
    $uretim_sorumlulari = Uretim_sorumlusu::all();

    if(request('model_kodu')){
        
        $modeller = $modeller->where('ModelKodu', 'LIKE', "%".request('model_kodu')."%");
    }
    if(request('koleksiyon_id')){

        $modeller = $modeller->where('koleksiyon_id', 'LIKE', "%".request('koleksiyon_id')."%");
    }
    if(request('uretim_sorumlusu_id')){

        $modeller = $modeller->where('UretimSor', 'LIKE', "%".request('uretim_sorumlusu_id')."%");
    }if(request('modelist_id')){

    $modeller = $modeller->where('modelist_id', 'LIKE', "%".request('modelist_id')."%");
}

    $modeller = $modeller->paginate(18);


    return view('kumas.index',compact('modeller','koleksiyonlar','modelistler','uretim_sorumlulari'));
}

CodePudding user response:

The paginate method, runs an implicit get on your query result. try to use withQueryString instead of paginate. example:

$modeller->withQueryString()->paginate(18);

but from your use case I suggest to use this in your view, instead of query string, this will add everything came from query string to your links:

{{ $users->appends($_GET)->links() }}

More Details on the pagination & Query String params

the page, offset, ... and everything paginate needs, would append automatically to paginate function without any effort. you only need to explicitly ->appends($_GET) when you have some filtering parameters in your $_GET and want to preserve them in the following requests, when user clicks the next page or previous page

  • Related