2017-04-26 4 views
1

ich folgende Middleware verwenden Laravel in Routing:Anruf auf eine Elementfunktion Middleware() auf null

Route::group(['prefix' => 'api/'], function() { 
    Route::resource('admin', 'adminController')->middleware('auth'); 
    Route::resource('profile', 'profileController')->middleware('role'); 
}); 

ich diese Fehlermeldung erhalten, wenn ich in URL 'admin' oder 'Profil' Pfad nennen enter image description here

+0

Hallo @ramzi, wie hast du die Middleware zu Ressource hinzugefügt, ich meine, auf welche Weise haben Sie gefunden, die Middleware zu resourse hinzuzufügen. –

Antwort

2

Es ist, weil Route::resource() nichts zurückgibt. Seine Leere. Es gibt kein Objekt zurück.

Laravel 5.4 - Illuminate\Routing\[email protected]

In Laravel 5.5 (in Entwicklung), Route::resource() wird ein Objekt zurückkehren fließend für Optionen hinzufügen.

+0

hinzufügen Es ist klar, danke. –

+0

np, markieren Sie die Frage so, dass sie für alle anderen beantwortet wird – lagbox

0

Wahrscheinlich löst Ihr Ressourcen-Controller nicht auf einen tatsächlichen Controller auf. Einige Dinge zu überprüfen

  • Überprüfen Sie tatsächlich eine Admincontroller haben, und dass der Klassenname in der korrekten Schreibweise ist
  • Überprüfen Sie, ob der Controller im Standard-Namespace ist, und wenn nicht, den Controller-Namespace ändern, oder fügen Sie Ihrer Route ein Namespace-Attribut hinzu
  • Überprüfen Sie, ob Ihr Controller beim Start eine Ausnahme verursacht, die zu einem Null-Controller führt.
+0

Ich bekomme diesen Fehler nur, wenn ich "Middleware ('Auth')" –

Verwandte Themen