2016-10-17 11 views
1

インデックスページに結果のリストを表示するときにdisplayPerPage(10,25,50など)を実装しようとしています。しかし、私は他のクエリ文字列を置き換えずにurlに追加するだけでは苦労しています。URLにLaravelを追加する

例:

私は私は私の選択ドロップダウンの10件の結果を例えば5ページだとページごとに表示を選択した場合、それは結果をロードします、しかし、ページを切り替えるが、ページを消去するページネータを持っています= 5からURL。どのように私は現在、ページャー上の私はどこに消去せずにdisplayPerPageを追加するだけです。

ありがとうございました。

私はlaravel 4の別のプロジェクトでこれを行っているので、カスタムのページャーを作成しなくても可能ですが、それはしばらく前ですが、もう一度やり直す方法が分からないようです。 $オブジェクトを想定し

+0

に作業しています。ページめくりしようとすると、この$ users = DB :: table( 'users') - > simplePaginate(15);を使用できます。 – EaBangalore

+0

これはビュー – EaBangalore

答えて

0

は、あなたがそのようなあなたのページネータを追加することができ、あなたのビューに、あなたはページ付けしているアイテムのリストです:

{{$objects->appends(request()->query())->links()}} 

とあなたのrequestPerPageのようなクエリ文字列は、後

+0

に渡すことができます問題は、私は同じURLに$ displayPerPageを送信するとき、私がしていたページ番号を覚えていない....私はPHPでクイックカスタムURLパーサ関数を書いて問題を解決したそうですね。うまくいけば、それは誰かを道に導く助けになるだろう – max234435

0

を実施しますこの問題と戦うために、私はPHPのurlパーサーヘルパー関数を書いて、URLの中の特定のものを置き換えるために書きました?記号(照会部分)

//for displayPerPage, orderBy and sortBy parse the url and replace with new values 

function urlQueryParse($queryToReplace, $newValue){ 

// extract query from url 
$fullUrl = Request::fullUrl(); 

if(strpos($fullUrl, '?') !== false){ 

    //find everything after the ? in url 
    $url = substr($fullUrl, strpos($fullUrl, "?") + 1); 

//  check url to make sure $queryToReplace exists in the url 

if(strpos($url, $queryToReplace) !== false) { 

//  look through the remaining url query and replace whats given to the function 
     $newUrL = preg_replace('/('. $queryToReplace. '\=)([^&]+)/', $queryToReplace.'='.$newValue, $url); 

     return Request::url()."?{$newUrL}"; 
    } 

//  if the ? exists but the queryToReplace is not in the url, then add it to the query string 
    return Request::url()."?{$url}&{$queryToReplace}={$newValue}"; 

} 
//if the url doesnt have ? sign then simply insert the new value 
return Request::url()."?{$queryToReplace}={$newValue}"; 


} 

うまくいけば、これは誰かを助けてくれるでしょう。あなたがそれを改善する方法があるなら、私は提案をすることができます。

P.S.私はLaravel 5.2

関連する問題