2016-12-13 2 views
1

У меня есть индексная страница, где показаны все модели, и когда вы нажимаете «Редактировать», вы переходите на страницу редактирования и после того, как вы что-то измените, нажмите «Обновить», и вы быть перенаправлен на индекс, все в порядке.Как перенаправить пользователя на предыдущую страницу, на которую была нажата кнопка редактирования.

И теперь я сделал представление для просмотра, и в режиме просмотра я сделал одну и ту же кнопку редактирования, чтобы перейти на страницу редактирования, и когда вы нажмете обновление, конечно, вы будете перенаправлены на индексную страницу, и я не хочу, чтобы это , Я хочу перенаправить пользователя на страницу, на которую была нажата кнопка EDIT.

Как я могу перенаправить пользователей на страницу, где они на самом деле нажали кнопку редактирования?

ответ

2

Вы можете сохранить URL в сессии go two pages back in Laravel:

$links = session->has('links') ? session('links') : []; // Get data from session 
array_unshift($links, $_SERVER['REQUEST_URI']); // Add current URI to an array 
session(compact('links')); // Save an array to session 

Тогда вы можете пойти 2 страницы назад:

return redirect(session('links')[2]); 
0

Вы можете использовать:

return back(); 

Он возвращает вас так как это так очевидно. Вы можете исследовать это и другие вспомогательные функции здесь:

https://laravel.com/docs/5.3/helpers#method-back

+0

Прочитайте вопрос внимательно. У Алексея есть правильный ответ. Я не хочу возвращаться на одну страницу ... но две! – lewis4u

+0

Было немного сложно понять проблему. Можете ли вы вставить свой метод обновления в свой контроллер? Я думаю, мы сможем решить это по именованному маршруту. –

+0

Проблема в том, что я не хочу перенаправлять пользователя всегда на одну страницу после редактирования .... Я хочу перенаправить его на страницу, откуда он нажал кнопку редактирования .... и нет никакой опции в laravel для этого ... вам нужно поймать URL-адрес до «назад», и это именно то, что ответил Алексей – lewis4u

Смежные вопросы