139

Laravel 4のページネーションクラスと一緒にEloquentを使用しています。

問題: URL にいくつかの GET パラメータがある場合 (例: http://site.com/users?gender=female&body=hot)、生成されるページネーション リンクにはpageパラメータのみが含まれ、他には何も含まれません。

ブレード テンプレート

{{ $users->link() }}

これには->append()関数がありますが、そこにある GET パラメーターの数がわからない場合、ブレード テンプレートを台無しにするコードappend()全体のチャンクなしで、ページ分割されたリンクに他の GET パラメーターを含めるにはどうすればよいでしょうか?if

4

13 に答える 13

139

編集:これを機能させるには、Mehdiの回答を含むコナーのコメントが必要です。説明してくれた両方に感謝します。

->appends()配列をパラメーターとして受け入れることができます。渡すことができますInput::except('page')。これでうまくいくはずです。

例:

return view('manage/users', [
    'users' => $users->appends(Input::except('page'))
]);
于 2013-06-18T01:37:43.280 に答える
29

そうではありませんappend()appends() 、正解は次のとおりです。

{!! $records->appends(Input::except('page'))->links() !!}
于 2014-11-25T07:16:21.787 に答える
11

ララベル5

ビューには次のようなものが含まれている必要があります。

{!! $myItems->appends(Input::except('page'))->render() !!}

于 2015-10-11T23:00:52.753 に答える
5

この構造を使用して、ページ以外のすべての入力パラメーターを保持します

{!! $myItems->appends(Request::capture()->except('page'))->render() !!}

なんで?

1)そのようなリクエストに追加されたすべてのものを取り除きます

  $request->request->add(['variable' => 123]);

2) 関数の入力パラメータとして $request は必要ありません

3)「ページ」を除外しています

PS)、Laravel 5.1で動作します

于 2016-09-15T03:01:17.247 に答える
4

これをビューページに含める

 $users->appends(Input::except('page'))
于 2017-12-11T05:48:24.440 に答える
1

Laravel 7.x では、次のように使用できます。

{{ $results->withQueryString()->links() }}
于 2020-11-30T07:39:00.373 に答える