使用可选参数
当我在Laravel 5.4中使用可选参数时,我收到错误内部错误:无法检索默认值。 这是我的路线:
Route::group(['middleware' => ['auth','role:SUPER_ADMIN'],'prefix' => 'SWSM-Dashboard'], function () {
Route::get('/', 'HomeController@eventDashboard');
Route::group(['prefix' => '/providers'],function (){
Route::get('create/{providerData?}','ProvidersController@create');
Route::get('delete/{providerId?}','ProvidersController@destroy');
Route::get('/','ProvidersController@index');
});
});
这是我的控制器功能
public function create($providerData){ dd('Hello'); }
我的中间件只是Laravel开箱即用的标准Auth,所以我很惊讶这不起作用。
答案 0 :(得分:2)
我使用的是php 5.3,因此我无法使用类型提示,因此我通常不会使用它。
通过对要在控制器中使用的可选参数执行以下操作来解决问题。
public function create($providersData = null)
{
dd($providersData);
}
现在当使用.... / create /命中路径时,它会死并且转储为null但是当使用.... / create / 1命中路径时,providersData参数将被设置为1并且死掉并转储