Например, с url()->previous ():
- Если вы обновите страницу, любой URL()->previous() не будет работать на этой странице .
- Если вы перейдете с маршрута/1 -> яблоки/1 -> бананы/2 -> обратно, используя url() ->previous() apples/1 и добавьте url()->previous() на apples/1, это вернет вас к бананам/2 > не возвращаться на маршрут/1
Это не проблема, пока у вас нет страниц, которые углубляются и не связаны друг с другом по модели:
- /route/1 — отдельный контроллер и модель
ведёт к: /apples/1 — разделение контроллера и модели
ведёт к: /someOtherRoute/ 2 — Разделение контроллера и модели
приводит к: ... и так далее… — Разделение контроллера и модели
< /ul>
Если вы используете url()->previous(), потому что Я думаю, что он основан на сеансах, а я использую базу данных для сеансов, это не так. помните, куда вы направлялись, это законно работает с предыдущим URL-адресом, как предполагает цепочка.
Итак, если у вас есть такие вложенные страницы, на которых ничего не связано, как вы поступите: возвращаться по одному? (то есть нажатие кнопки «Назад», чтобы вернуться по цепочке обратно к маршруту/1) законно ли вы передавать все параметры каждому действию контроллера?
Правильно ли вы используете запрос? поэтому все ваши URL-адреса теперь выглядят так: /apples/1/?route=1 ???:
Код: Выделить всё
route('apples.apple', [
'apple' => $apple->id
'route' => $route->id // => ?route=1
]);
Это одно если бы это был маршрут/1/apples/1/SomeOtherRoute/2, потому что для меня это показывает прямую связь, однако в приведенном выше примере все это отдельные маршруты со своими собственными контроллерами и действиями и их модели не связаны друг с другом.
Единственный способ их связи — начать с маршрута/1, щелкнуть яблоки/1, а затем нажать в... и так далее и тому подобное. На каждой странице есть своя кнопка «Назад».
Подробнее здесь: https://stackoverflow.com/questions/642 ... in-laravel
Мобильная версия