2017-12-21 15 views
1

私は、ブレードのテンプレートファイルにroute-helper({{ route('routename') }})を使用して、ページの結果をフィルタリングおよび/またはソートします。route-helperを使用して既存のパラメータにクエリパラメータを追加

以前のパラメータにパラメータを添付する最も簡単な方法は何ですか?一例として、

私はページ/category1を訪問し、いくつかの製品を参照してください。今私は、URLを変更する並べ替えを使用/category1?sort_by=title&sort_order=asc

私は現在の別のフィルタリングを使用する場合は、私は、現在のものに追加したいと思います。したがって/category1?sort_by=title&sort_order=asc&filter_by=year&year=2017になりますが、結果は/category1?filter_by=year&year=2017になります。以前のすべてのパラメータを使用して、新しいものを追加する

$new_parameters = ['filter_by' => 'year', 'year' => $year]; 

route('category.show', array_merge([$category], request()->all(), $new_parameters]); 

:あなたは、おそらくのようなものを使用することができ

route('category.show', [$category, 'sort_by' => 'title', 'sort_order' => 'asc']) 
route('category.show', [$category, 'filter_by' => 'year', 'year' => $year]) 

答えて

1

は、私のようなルートヘルパーとURLを作成します。

明らかにあなただけそれらのいくつかは、代わりのを使用する場合があります:

request()->all() 

あなたが使用することができます。

request()->only('sort_by', 'sort_order', 'filter_by', 'year') 
+0

はええ、それは私が今それを解決する方法です。先端に感謝します。私はlaravelがこれを行うもっと簡単な方法を持っていることを望んでいた。 誰も私にこの1つを示すことができない限り、それは受け入れられた答えです。 ;) – Sebastian

関連する問題