slug1和slug2中有问题
Route::get("/something/{slug1}-{slug2}-sample-sample" , "Controller@Method")->where(['slug1'=>'[a-z0-9-]+', 'slug1'=> '[a-z0-9-]+');
可以是xxx-yyy或只能是xxx
我只有一个参数值
答案 0 :(得分:1)
因为您在slug1
方法中两次放置了where
,所以您的路由只对第一个子段进行了两次检查,还忘记了关闭数组:
Route::get("/something/{slug1}-{slug2}" , "Controller@Method")->where(['slug1'=>'([\w]+[-]{1}[\w]+)', 'slug2'=> '([\w]+[-]{1}[\w]+)']);
如果之后您想使用Method
在控制器中获取这些值,则可以在该方法中将这些段作为参数传递:
public function Method($slug1, $slug2)
{
dump($slug1, $slug2); //will display both slug's value
}
public function Method($slug1, $slug2)
{
return view('your-blade-view', ['slug1' => $slug1, 'slug2' => $slug2]);
}
并从您的视图中检索它们
{{ $slug1 }} //echo first slug
{{ $slug2 }} //echo second slug
更新:这是您正在寻找的REGEX:->where(['slug1'=>'([\w]+[-]{1}[\w]+)', 'slug2'=> '([\w]+[-]{1}[\w]+)']);
参见here。