我的URL是这样的: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');
});
任何帮助,不胜感激。
您可以使用一个参数作为正则表达式模式制作 Route。像category/{params}
这样的东西,{params}
就像(/.+)+
.然后在控制器操作中,您可以通过解析此参数来获取类别列表。 $categoriesArray = split('/', trim($params, '/'));
试试这个:
Route::get('/{cat1}/{cat2}/{cat3}', 'CategoryController@show')->where(['cat1' => '^(Electronics|Computers)', 'cat2' => '^(iPad)']);
看看,这是否有帮助。