首页 > 解决方案 > 如何为路由中的多个参数实现“defaults()” - Laravel

问题描述

所以我有一个POST带有两个参数的 URL,我想为这两个参数分配默认值。

我知道您可以为具有单个参数的 URL 实现这种方式:

Route::post('activity-log/datatable/{tag_access?}/{page_access?}',
'SettingsController@datatable_activity_log')
->defaults('tag_access', 'activity-log');

但是我如何使用如下所示的 URL 来处理它:

Route::post('activity-log/datatable/{tag_access?}/{page_access?}',
'SettingsController@datatable_activity_log')

标签: phplaravel

解决方案


您可以通过以下方式实现它:

像这样保持你的路线:

Route::post('activity-log/datatable/{tag_access?}/{page_access?}','SettingsController@datatable_activity_log')

现在,在控制器功能中,您可以将这些参数设为默认值,如下所示,

public function datatable_activity_log($tag_access='activity-log', $page_access='activity-log', Request $request){
    // Here write your logic
}

这可能不是实现您想要的最佳方式,但这是其中一种方式。


推荐阅读