【发布时间】:2021-09-09 09:16:29
【问题描述】:
我正在尝试获取一个带有路由绑定的 URL,作为 routes/web.php 中的一个语句,匹配以下模式:
- /abc/my-slug
- /de/abc/my-slug
- /es/abc/my-slug
- 等
值得注意的是,第一个参数是可选的,应该默认为“en”。是否可以使用路由绑定从两个参数加载模型,使用一个语句而不是路由文件中的两个语句?
【问题讨论】:
我正在尝试获取一个带有路由绑定的 URL,作为 routes/web.php 中的一个语句,匹配以下模式:
值得注意的是,第一个参数是可选的,应该默认为“en”。是否可以使用路由绑定从两个参数加载模型,使用一个语句而不是路由文件中的两个语句?
【问题讨论】:
可能是这样的东西(未经测试)?
Route::name('page')
->get('/{lang?}/{slug}', [Controller::class, 'index'])
->setDefaults(['lang' => 'en']);
或者作为替代read this 了解如何在中间件中设置默认值
【讨论】:
Required parameter $url_segment follows optional parameter $language。