Laravel "\Request::route()->getName()" geben Sie null-Ergebnisse

Ich bin mit Laravel mit Spatie Berechtigungen-Paket, und es funktioniert Prima!

Ich versuche auch die Verwendung der Authorizable trait für die Verwaltung der Rollen und Berechtigungen.

Das problem scheint zu sein, $routeName = explode('.', \Request::route()->getName());.

Ich erwarte von \Request::route()->getName() Ergebnis posts.index aber ich habe null.

\Request::route()->getName() funktioniert nur, wenn ich die Eigenschaft "name" in die route durch die Verwendung von ->name('posts/index') (das Ergebnis ist posts/index )

warum \Request::route()->getName() ist null in meine app ? Was mache ich falsch ?

3 Antworten

  • Aditya Thakur
    4. Mai 2019

    Zu get-route-Namen ,die Sie verwenden müssen

    $name = Route::currentRouteName();
    

    und use Illuminate\Support\Facades\Route;

    Request::route()->getName() funktioniert nur für laravel < 5.*

  • Masoud.Najafi
    4. Mai 2019

    Sie können

       Route::currentRouteName(); //use Illuminate\Support\Facades\Route;
    

    aber auch Sie können erhalten Wirkung von route durch

    Route::getCurrentRoute()->getActionName();
    
  • Anas Bakro
    4. Mai 2019

    Ich bin mir nicht sicher, warum sind Sie immer, aber die route muss ->name() (wenn Sie wollen, verwenden Sie route-Namen), wenn es keine Ressource-route.