Laravel $ request-> input ('var') возвращает ноль в контроллере - PullRequest
0 голосов
/ 27 ноября 2018

// маршруты

Route::get('/section/{id}', 'Controller@section');

// контроллер

public function section(Request $request) {
  $id = $request->input('id');
  dd($id);
}

// вывод

null
  1. нет проблем с извлечением $ id, если я пытаюсь получить внутри Route через функцию ($ id) {}.
  2. , другие ошибки не отображаются.

Спасибо.

Ответы [ 5 ]

0 голосов
/ 27 ноября 2018

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

Через аргумент метода, как уже предлагалось в некоторых ответах:

public function section(Request $request, $id) {

Или через метод маршрутазапрос:

$request->route('id')
0 голосов
/ 27 ноября 2018

Добавление $id к функции по-прежнему возвращает ноль.

Но, предложение Web Artisan: прямой вызов $request->id сработал.

Примечание: Нет кавычек по переменной.

0 голосов
/ 27 ноября 2018

Добавьте параметр $id к функции, например:

public function section(Request $request, $id) {
  dd($id);
}

Тогда вы можете использовать $id напрямую.

0 голосов
/ 27 ноября 2018

Параметры маршрута фактически напрямую передаются в функцию контроллера в качестве аргумента.

public function section(Request $request, $id) {
    dd($id);
}
0 голосов
/ 27 ноября 2018

Вы указали id в качестве параметра маршрута.Это не ввод запроса (чтение из стандартного ввода).

Вам необходимо добавить параметр в ваш метод, чтобы его можно было передать в метод контроллера:

public function section(Request $request, $id) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...