Laravel 5.2 Wie bekomme ich Routenparameter in Blade?

Lesezeit: 2 Minuten

das ist meine url
http://project.dev/blogs/image-with-article
Also, hier brauche ich den Parameter image-with-article
In meinem Blade, um anzuzeigen, was ein Parameter namens Slug ist, befindet sich hier in meiner Routendatei. Ich brauche den Slug-Parameter in Blade.

Route::get('/blogs/{slug}', ['as'=>'blog.by.slug', 'uses'=> '[email protected]']);

Ich bin mir nicht sicher was du meinst. Wenn Sie versuchen, die Route in einer Blade-Vorlage zu erstellen, verwenden Sie

<a href="https://stackoverflow.com/questions/39011648/{{ route("blog.by.slug', ['slug' => 'someslug']) }}">...</a>

Wenn Sie versuchen, auf den angegebenen Parameter zuzugreifen, würde ich vorschlagen, ihn vom Controller zu übergeben:

// CmsController
public function show($slug)
{
    // other stuff here
    return view('someview', compact('slug'));
}

// someview.blade.php
{{ $slug }}

Und wenn Sie wirklich aus der Ansicht auf den Parameter zugreifen müssen, ohne ihn zuerst vom Controller zu senden … sollten Sie das wirklich nicht tun, aber Sie können die Fassade verwenden:

{{ Request::route('slug') }}

  • Ich möchte mich dafür loben, dass ich danach gesucht habe, wie man das macht, nur um mein zwei Jahre jüngeres Ich zu finden, das mir sagt, dass es eine dumme Idee ist.

    – Joel Hinz

    29. März 2019 um 21:16 Uhr

  • Hallo, warum sollte Ihre letzte Lösung eine schlechte Praxis sein? Ich sehe es als eine gute Abkürzung in der Vorlage, um das übergebene Array von Variablen nicht unnötig zu belegen.

    – Beluga

    25. November 2020 um 20:04 Uhr


  • @ankabot Ich möchte im Allgemeinen jede Logik außerhalb von Ansichten halten und ihnen einfach alles weitergeben, was sie brauchen. Es ist keine strenge Regel und es liegt an jedem, was er bevorzugt, aber es wird allgemein als bewährte Methode angesehen.

    – Joel Hinz

    26. November 2020 um 6:39 Uhr

  • @JoelHinz Ich würde nicht anrufen Request::route() Logik – es scheint ziemlich Standard für Laravel zu sein.

    – Hashim Aziz

    10. Januar um 0:01


Wenn Sie die Parameter abrufen möchten, ohne die Controller-Methode zu verwenden

{{dd(request()->route()->parameters)}}

  • Das funktioniert nicht; es kehrt leer zurück. dd(request()->query('testing')) funktioniert aber.

    – sykez

    2. Juli 2019 um 8:04 Uhr

In Laravel 8 können Sie einfach verwenden request()->route('parameter_name').

Einfacher Weg
{{ dd(request()->query("PARAMNAME")) }}

um alle PARAMs zu erhalten
{{ dd(request()->query()) }}

1283660cookie-checkLaravel 5.2 Wie bekomme ich Routenparameter in Blade?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy