【发布时间】:2023-04-01 07:20:01
【问题描述】:
我有这样的路线:
$this->get('/{citySlug}/{catSlug1?}/{catSlug2?}/{sightSlug?}', function () {
return 'Hello World';
});
如何在RouteServiceProvider.php的boot()函数中绑定来检查?
我试试这个:
Route::bind('citySlug', function ($citySlug, $route) { ... });
Route::bind('catSlug1', function ($citySlug, $route) { ... });
Route::bind('catSlug2', function ($catSlug2, $route) { ... });
Route::bind('catSlug3', function ($catSlug3, $route) { ... });
Route::bind('sightSlug', function ($sightSlug, $route) { ... });
但是可选参数是错误的...上面有什么问题?
更新:
example.com/city_slug/cat1/cat2 It works.
example.com/city_slug/cat1/cat2/sight_slug It works.
example.com/city_slug/cat1/sight_slug It not works!
【问题讨论】:
-
你有什么错误?我看到你昨天也问了这个问题。但是,绑定看起来正确,可选参数看起来也正确。
-
我可以解决的比昨天更多。请检查我的更新。我的问题是动态类别和子类别....我知道对于 laravel 工作人员来说一定很简单...但是我在互联网上找不到任何文档或帮助...
-
对于可选参数,您不能这样做。您最后一个示例中的
sight_slug将被视为catSlug2
标签: php laravel laravel-routing