我的网址是这样的:http://localhost/sample/public/category/Electronics/Computers和平板电脑/平板电脑/ iPad
以下是电子产品,计算机和平板电脑,平板电脑等列表,分类和子类别。可能有N个类别......
是否可以编写与N个类别匹配的模式,而不是单独提及{cat1?} / {cat2?} / {cat3?},就像在下面的代码中一样?
Route::group(['prefix' => 'category'], function () {
Route::get('/','CategoryController@show');
Route::get('/{cat1?}/{cat2?}/{cat3?}', 'CategoryController@show');
});
感谢任何帮助。
答案 0 :(得分:3)
您可以使用一个参数作为正则表达式进行路由。像category/{params}
这样{params}
就像(/.+)+
。然后在您的控制器操作中,您可以通过解析此参数来获取类别列表。 $categoriesArray = split('/', trim($params, '/'));
答案 1 :(得分:0)
试试这个:
Route::get('/{cat1}/{cat2}/{cat3}', 'CategoryController@show')->where(['cat1' => '^(Electronics|Computers)', 'cat2' => '^(iPad)']);
看看,如果有帮助。