如何在Laravel中从请求URL设置路由参数默认值

威萨姆

我有以下路由设置:

Route::prefix('admin/{storeId}')->group(function ($storeId) {
  Route::get('/', 'DashboardController@index');
  Route::get('/products', 'ProductsController@index');
  Route::get('/orders', 'OrdersController@index');
});

因此,如果我使用“操作”帮助器生成一个url,则不必显式提供storeId。

{{ action('DashboardController@index') }}

我希望从提供的请求URL中自动设置storeId(如果提供)。

也许像这样。

Route::prefix('admin/{storeId}')->group(function ($storeId) {
  Route::get('/', 'DashboardController@index');
  Route::get('/products', 'ProductsController@index');
  Route::get('/orders', 'OrdersController@index');
})->defaults('storeId', $request->storeId);
滞后箱

docs提到了关于route助手的默认参数(应该与所有生成URL的助手一起使用):

“因此,您可以使用此URL::defaults方法来定义此参数的默认值,该默认值将始终在当前请求期间应用。您可能希望从路由中间件调用此方法,以便可以访问当前请求”

“设置了...参数的默认值后,通过route帮助程序生成URL时,不再需要传递其值。”

Laravel 5.6 Docs-网址生成-默认值

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章