добавить параметр get в метод перенаправления laravel - PullRequest
0 голосов
/ 12 июня 2018

Я использую laravel 5.6

У меня есть GET параметр, который я хочу передать функции перенаправления.

Route::get('/about', function () {
   //I want to add param to this redirect function
   return redirect('/en/about');
});

, если маршрут выглядит как /about?param=123 после перенаправления, param будет потеряно.Есть ли способ добавить параметр в метод перенаправления?как я вижу, эта функция не включает входные параметры.параметр является необязательным, поэтому он не может быть предоставлен.может быть есть способ переопределить эту функцию?или какое-то другое решение?все предложения будут оценены

ОБНОВЛЕНИЕ

возможно ли переопределить метод redirect()?Я думаю, что в моем случае это будет лучшее решение

Ответы [ 6 ]

0 голосов
/ 25 февраля 2019

Лучше всего сделать это так в вашем случае:

return redirect(route("en.about")."?param=123");
0 голосов
/ 12 июня 2018

просто сделайте что-то вроде этого:

 return redirect('/en/about?param='.$param);
0 голосов
/ 12 июня 2018

Если вы не хотите добавлять имя маршрута, вы можете сделать то же самое с функцией контроллера

Route::get('/about/{param}', function () {
   return \Redirect::action('CONTROLLER@FUNCTION',['param'=>$param])
});

ИЛИ с помощью вспомогательной функции

return redirect()->action('CONTROLLER@FUNCTION');
0 голосов
/ 12 июня 2018
Route::get('/about', function () {
   //I want to add param to this redirect function
   return redirect()->to(url('/en/about',['param' => 'Pram vakue', 'param2' => $param]));
});

Если вы используете route(), вам нужно создать именованный маршрут.

Надеюсь, это поможет

0 голосов
/ 12 июня 2018

Необходимо получить параметр в URL-адресе и передать его методу перенаправления в массиве

Route::get('/about/{param}', function () {
   return \Redirect::route('/en/about', ['param'=>$param])
});

, не используя именованный маршрут

Route::get('/about/{param}', function () {
   return redirect('/en/about', ['param'=>$param])
});

Для необязательного параметра

Route::get('/about/{param?}', function ($param = 'my param') {
   return redirect('/en/about', ['param'=>$param])
});
0 голосов
/ 12 июня 2018

Да, вы можете перенаправить на именованные маршруты и передать параметры, например:

return redirect()->route('en.about', ['param' => 123]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...