URL-Parameter - Laravel

Nov 04 2020

Unsere Benutzer greifen auf unsere Website mit einem eindeutigen Parameter in der URL zu. dhhttp://example.com/hire-agreement?u=unique_param

Ich habe eine Route zu einer Ansicht eingerichtet -

Route::get('/hire-agreement', function () {
    return view('hire-agreement');
});

Ich habe 2 Fragen.

  1. Muss ich der Route noch etwas hinzufügen, damit der Parameter in der Ansicht gelesen werden kann?
  2. Wie lese ich diesen Parameterwert in der Ansicht? Kann ich verwenden $_GET["name"])?

danke Craig.

Antworten

2 zahidhasanemon Nov 04 2020 at 17:19

Im URL-Bereich brauchen Sie nichts mehr. und um den URL-Parameter zu verwenden oder abzurufen, verwenden Sie den Hilfsmittel laravel request () .

$value = request('key');

In der Ansicht können Sie einen Schlüssel wie drucken

{{ request('name') }}

vollständiges Beispiel für Sie mit Request Helper

Route::get('/hire-agreement', function () {
    $name = request('name'); //put the key in a variable
    return view('hire-agreement', compact('name')); //send the variable to the view
});

und dann in der Ansicht können Sie die Variable als verwenden

{{ $name }}

Wenn Sie keine Variable verwenden möchten, können Sie den Anforderungshelfer direkt in der Ansicht verwenden

{{ request('name') }}

Sie können auch die Request-Klasse verwenden.

Route::get('/hire-agreement', function (Request $request) {
    $name = $request->name;
    return view('hire-agreement', compact('name'));
});

Ich würde Ihnen jedoch empfehlen, einen Controller zu verwenden. Verwenden Sie keinen Abschluss in der Routendatei. Sie können sie nicht bei Bedarf zwischenspeichern.

2 KamleshPaul Nov 04 2020 at 17:24

http://example.com/hire-agreement?u=unique_param

In Laravel können Sie auf beide zugreifen postund getauf eine RequestKlasseninstanz oder einen request()Helfer zugreifen, damit Sie dies tun können

mit Hilfsanfrage ()

Route::get('/hire-agreement', function () {
    dd(request('u')) //  this getting from url ?u=unique_param this u param
    return view('hire-agreement');
});

mit Klasse anfordern oder

Route::get('/hire-agreement', function (Request $request) { dd($request->u)) //  this getting from url ?u=unique_param this u param
    return view('hire-agreement');
});

hier kannst du

1 AxissXs Nov 04 2020 at 17:57

Sie sollten die Anforderung besser an einen Controller weiterleiten und dort bearbeiten. Auf diese Weise ist es einfacher und sauberer. Wenn Sie jedoch direkt von der Route zur Ansicht gelangen möchten, verwenden Sie besser die folgende Methode. Fügen Sie dies in Ihre Routendatei ein

Route::get('/hire-agreement/{param}', function ($param) { return view('hire-agreement')->with($param);
});

In der Ansicht können Sie wie folgt auf den Parameter zugreifen

<p>{{$param}}</p>

Wenn der Benutzer "/ Hire-Agreement / 1234" anfordert, enthält Ihr $ param in der Ansicht 1234. Auch wenn Sie auf Get-Parameter in der URL zugreifen möchten, können Sie dies folgendermaßen tun

{{Request::input('q')}}