首页 > 解决方案 > 如何在 Laravel 5.8 中获取以前的路线名称

问题描述

我正在尝试在 Laravel 5.8 中获取以前的路线名称。这个答案(https://stackoverflow.com/a/40690569/16735772)在我使用虚拟主机时完美运行,但在 (125.125.125.125/project_folder/public) 这样的直接 url 中不是因为抛出 NotFoundHttpException 。

例如,使用虚拟主机,$request->create(url()->previous())使用相对 url 创建一个带有 pathInfo 和 requestUri 的请求,my_profile/2但没有虚拟主机,这些属性具有不同的值,例如project_folder/public/my_profile/2.

我不需要重定向回来,只需知道以前的路线名称即可检查。例如:

if ($previous_route == 'show_name') {
   //do something
}

任何帮助将不胜感激。

标签: laravel

解决方案


尝试此代码以获取以前的路线名称:

Route::getRoutes()->match(
    Request::create(URL::previous())
)->getName();

您可以制作一个帮助程序或刀片指令以使其更易于访问。


推荐阅读