2017-04-12 4 views
1

Verwenden der optionalen ParameterLaravel 5.4 Interner Fehler: Fehler der Standardwert mit fix abrufen

Wenn ich in Laravel optionale Parameter verwenden 5.4, i den Fehler interner Fehler erhalten: failed den Standardwert abzurufen. Hier sind meine Routen:

Route::group(['middleware' => ['auth','role:SUPER_ADMIN'],'prefix' => 'SWSM-Dashboard'], function() { 


Route::get('/', '[email protected]'); 

Route::group(['prefix' => '/providers'],function(){ 

    Route::get('create/{providerData?}','[email protected]'); 
    Route::get('delete/{providerId?}','[email protected]'); 
    Route::get('/','[email protected]'); 


    }); 
}); 

Hier ist meine Controller-Funktion

public function create($providerData){ dd('Hello'); } 

Meine Middleware nur der Standard-Auth aus der Box mit Laravel ist, so dass ich überrascht bin, dass dies nicht funktioniert.

Antwort

2

Ich benutze PHP 5.3, also Typ Hinting ist nicht verfügbar für mich, also würde ich normalerweise nicht verwenden.

Das Problem wird gelöst, indem Sie die folgenden optionalen Parameter in Ihrem Controller verwenden.

public function create($providersData = null) 
    { 

    dd($providersData); 

    } 

Nun, wenn die Route getroffen wird mit ..../create/es wird sterben und Dump null, aber wenn die Route mit getroffen ..../create/1 der providersData Parameter wird auf 1 gesetzt werden und sterben und dump.