因此,我有一个带有两个参数的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')
答案 0 :(得分:3)
您可以通过以下方式实现它:
按您的喜好保留路线:
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
}
这可能不是实现所需目标的最佳方法,但这是其中一种方法。
答案 1 :(得分:2)
根据我对默认用法的了解,您可以一次执行一项操作:
Route::post('activity-log/datatable/{tag_access?}/{page_access?}',
'SettingsController@datatable_activity_log')
->defaults('tag_access', 'activity-log')
->defaults('page_access', 'defaultValue');
一种替代方法(因为defaults
是公开的):
$route = Route::post('activity-log/datatable/{tag_access?}/{page_access?}',
'SettingsController@datatable_activity_log');
$route->defaults = [ 'tag_access' => 'activity-log', 'page_access' => 'defaultValue' ];
我个人最喜欢的是@Sagar Gautam建议使用的默认函数参数。