Как включить переменную в перенаправление laravel - PullRequest
0 голосов
/ 03 мая 2019

У меня есть переменная в контроллере Laravel 5, которую я пытаюсь включить в URL ссылки для перенаправления, однако ничего из того, что я пробовал, похоже, не работает, мой код в настоящее время выглядит следующим образом.

$newChallenge = ((int) request('challenge_id') + 2);

return redirect('/texttext/{{$newChallenge}}');

Однако, здесь не используется переменная, представленная $ newChallenge, а скорее
"{{newChallenge}}" как строка, как это должно быть сделано?

Ответы [ 2 ]

1 голос
/ 03 мая 2019

{{ }} предназначен для использования в блейд-файлах.

Я думаю, что вы можете сделать return redirect('/texttext/{ $newChallenge }');, если вы действительно хотите эти {} скобки.

Или просто return redirect(sprintf('/texttext/%s'), $newChallenge));

или return redirect('/texttext/'.$newChallenge);

Редактировать: Кроме того, ваш редирект, вероятно, выиграл бы от того, что был названным маршрутом.https://laravel.com/docs/5.8/routing#named-routes

0 голосов
/ 04 мая 2019

Может быть, вы можете изменить его на параметр запроса

как

return redirect('/texttext/?=newChallenge={{$newChallenge}}');

, если вы хотите использовать

return redirect('/texttext/{{$newChallenge}}');

Это должно быть что-то вроде ниже

Route::get('texttext/{{newChallenge}}', 'YourController@newChallenge');

и подпись newChallenge function newChallenge(Request $request, $newChallenge)

если вы хотите использовать что-то вроде return redirect(route('new-challenge', $newChallenge));

просто добавьте имя к маршруту, как

Route::get('texttext/{{newChallenge}}', 'YourController@newChallenge')->name('new-challenge');

Я не проверял, но я думаю, что это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...