Php 在route Laravel中使用产品搜索
我的产品目录具有以下层次结构: 产品->类别->生产线->产品 以及此层次结构的路由:Php 在route Laravel中使用产品搜索,php,laravel,model,routes,Php,Laravel,Model,Routes,我的产品目录具有以下层次结构: 产品->类别->生产线->产品 以及此层次结构的路由: Route::get('/products', ['as' => 'site.products.index', 'uses' => 'Site\ProductsController@index']); Route::get('/products/{categorySlug}',
Route::get('/products', ['as' => 'site.products.index', 'uses' => 'Site\ProductsController@index']);
Route::get('/products/{categorySlug}', ['as' => 'site.products.category', 'uses' => 'Site\ProductsController@category']);
Route::get('/products/{categorySlug}/{lineSlug}', ['as' => 'site.products.line', 'uses' => 'Site\ProductsController@line']);
Route::get('/products/{categorySlug}/{lineSlug}/{productSlug}', ['as' => 'site.products.product', 'uses' => 'Site\ProductsController@product']);
之后,会有一些过滤器,如椅子、桌子、桌子等。
当用户点击一个过滤器时,我会带上有这个过滤器的产品
我想是这样的:
Route::get('/products/{categorySlug}/filter/{filterSlug}', ['as' => 'site.products.filter', 'uses' => 'Site\ProductsController@filter']);
但它将与其他路线发生冲突。您应该将
Route::get('/products/{categorySlug}/filter/{filterSlug}', ['as' => 'site.products.filter', 'uses' => 'Site\ProductsController@filter']);
就在前面
Route::get('/products/{categorySlug}/{lineSlug}/{productSlug}', ['as' => 'site.products.product', 'uses' => 'Site\ProductsController@product']);
这意味着laravel将尝试在另一个过滤器之前匹配
过滤器。太简单了!谢谢