2016-04-26 18 views
1

私は私の製品カタログのこの階層を持っている:使用製品検索Laravel

製品 - >カテゴリ - >ライン - >製品

そして、この階層のルート:

Route::get('/products',           ['as' => 'site.products.index', 'uses' => 'Site\[email protected]']); 
Route::get('/products/{categorySlug}',       ['as' => 'site.products.category', 'uses' => 'Site\[email protected]']); 
Route::get('/products/{categorySlug}/{lineSlug}',    ['as' => 'site.products.line',  'uses' => 'Site\[email protected]']); 
Route::get('/products/{categorySlug}/{lineSlug}/{productSlug}', ['as' => 'site.products.product', 'uses' => 'Site\[email protected]']); 

その後、椅子、机、テーブルなどのフィルタがあります。 ユーザーが1つのフィルタをクリックすると、このフィルタを持つ製品が表示されます。

私のような何かを考えてました。

Route::get('/products/{categorySlug}/filter/{filterSlug}', ['as' => 'site.products.filter', 'uses' => 'Site\[email protected]']); 

しかし、それは他の路線と競合になります。

答えて

1

あなただけlaravelが他の1の前filterに一致するようにしようとすることを意味

Route::get('/products/{categorySlug}/{lineSlug}/{productSlug}', ['as' => 'site.products.product', 'uses' => 'Site\[email protected]']); 

前に、上に

Route::get('/products/{categorySlug}/filter/{filterSlug}', ['as' => 'site.products.filter', 'uses' => 'Site\[email protected]']); 

を置く必要があります。

+0

とても簡単です!ありがとう! –

関連する問題