параметр url - laravel

Nov 04 2020

наши пользователи получают доступ к нашему сайту с уникальным параметром в URL. т.е.http://example.com/hire-agreement?u=unique_param

Я проложил маршрут к виду -

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

У меня 2 вопроса.

  1. Нужно ли мне добавлять что-нибудь еще в маршрут, чтобы параметр можно было прочитать в представлении?
  2. Как мне прочитать значение этого параметра в представлении? Могу я использовать $_GET["name"])?

спасибо Крейг.

Ответы

2 zahidhasanemon Nov 04 2020 at 17:19

в разделе url больше ничего не нужно. а чтобы использовать или получить параметр url, используйте помощник laravel request () .

$value = request('key');

в поле зрения вы можете напечатать ключ вроде

{{ request('name') }}

полный пример использования помощника по запросу

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
});

а затем в поле зрения вы можете использовать переменную как

{{ $name }}

если вы не хотите использовать переменную, вы можете использовать помощник прямого запроса в представлении

{{ request('name') }}

вы также можете использовать класс Request.

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

однако я бы посоветовал вам использовать контроллер. не используйте закрытие в файле маршрута. Вы не можете кэшировать их, когда это необходимо.

2 KamleshPaul Nov 04 2020 at 17:24

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

в laravel вы можете получить доступ к обоим postи getможете получить доступ к Requestэкземпляру класса или request()помощнику, поэтому вы можете делать

с запросом помощника ()

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

с классом Request или

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

здесь вы можете

1 AxissXs Nov 04 2020 at 17:57

Вам лучше передать запрос контроллеру и обработать его там, так проще и чище. Однако, если вы хотите перейти прямо от маршрута к просмотру, вам лучше использовать метод ниже. поместите это в свой файл маршрута

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

в представлении вы можете получить доступ к параметру, подобному этому

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

теперь, если пользователь запрашивает «/ найм-соглашение / 1234», ваш параметр $ в представлении будет содержать 1234. Также, если вы хотите получить доступ к параметрам получения в URL-адресе, вы можете сделать это следующим образом

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