如何在Laravel中检索低于一级的URL路径?
我有一个路由,例如如何在Laravel中检索低于一级的URL路径?,laravel,routing,Laravel,Routing,我有一个路由,例如/posts/6,我想在这个路由上制作一个按钮,将我重定向回url路径,在这种情况下,返回到/posts/。我没有在BLADE中找到解决该问题的请求或路由类方法。您应该尝试以下方法: <a href="{{ url()->previous() }}" class="btn btn-danger btn-xs">Back</a> 您应该尝试以下方法: <a href="{{ url()->previous() }}" class="b
/posts/6
,我想在这个路由上制作一个按钮,将我重定向回url路径,在这种情况下,返回到/posts/
。我没有在BLADE中找到解决该问题的请求
或路由
类方法。您应该尝试以下方法:
<a href="{{ url()->previous() }}" class="btn btn-danger btn-xs">Back</a>
您应该尝试以下方法:
<a href="{{ url()->previous() }}" class="btn btn-danger btn-xs">Back</a>
您是否尝试过:
<a href="{{ url("/posts/") }}" class="btn btn-danger btn-xs">Back</a>
或者如果你想让它参数化
<a href="{{ url($param) }}" class="btn btn-danger btn-xs">Back</a>
编辑 或更多通用
@php
//get the full url
$url = url()->full();
//get the position of the last "/"
$pos = strrpos($url,"/");
//cut the string from 0 to the correct position
$newUrl = substr($url,0,$pos);
@endphp
<a href="{{ $newUrl }}" class="btn btn-danger btn-xs">Back</a>
@php
//获取完整的url
$url=url()->full();
//获取最后一个“/”的位置
$pos=strrpos($url,“/”);
//将字符串从0剪切到正确的位置
$newUrl=substr($url,0,$pos);
@endphp
您是否尝试过:
<a href="{{ url("/posts/") }}" class="btn btn-danger btn-xs">Back</a>
或者如果你想让它参数化
<a href="{{ url($param) }}" class="btn btn-danger btn-xs">Back</a>
编辑 或更多通用
@php
//get the full url
$url = url()->full();
//get the position of the last "/"
$pos = strrpos($url,"/");
//cut the string from 0 to the correct position
$newUrl = substr($url,0,$pos);
@endphp
<a href="{{ $newUrl }}" class="btn btn-danger btn-xs">Back</a>
@php
//获取完整的url
$url=url()->full();
//获取最后一个“/”的位置
$pos=strrpos($url,“/”);
//将字符串从0剪切到正确的位置
$newUrl=substr($url,0,$pos);
@endphp
有很多方法可以做到这一点。但这取决于你想要什么
1) 。第一种方法是使用静态路由
虽然我相信这是一个很好的方式,如果我们谈论一个具体的案例 2) 如果您总是使用类似于
resource/resourceId
的模式,则只需获取当前url并删除最后一部分(通过explode()或任何其他函数)
范例
如果
returnMyResourceRouteName()
只获取当前url,而删除id
有很多方法可以做到这一点。但这取决于你想要什么
1) 。第一种方法是使用静态路由
虽然我相信这是一个很好的方式,如果我们谈论一个具体的案例
2) 如果您总是使用类似于resource/resourceId
的模式,则只需获取当前url并删除最后一部分(通过explode()或任何其他函数)
范例
如果returnMyResourceRouteName()
只获取当前url,而删除了id
谢谢您的建议,我知道这种方法,但对于我的情况来说还不够。例如,我有一个仪表板,我要去/manage/posts
,那里我有一个后退按钮,正如你所说的,接下来,我在同一页上有我所有的帖子,所以如果我现在去/manage/posts/6
,这里我有第二个后退按钮,如果我点击它,它会返回到/manage/posts/
,但是如果我现在单击第一个后退按钮,它会返回/manage/posts/6
而不是/manage/posts/
。因此,它进入一个无限循环:)。这就是为什么我试图找到一个从path
中删除一个级别的解决方案。谢谢你的建议,我知道这个方法,但这对于我的案例来说还不够。例如,我有一个仪表板,我要去/manage/posts
,那里我有一个后退按钮,正如你所说的,接下来,我在同一页上有我所有的帖子,所以如果我现在去/manage/posts/6
,这里我有第二个后退按钮,如果我点击它,它会返回到/manage/posts/
,但是如果我现在单击第一个后退按钮,它会返回/manage/posts/6
而不是/manage/posts/
。因此,它进入一个无限循环:)。这就是为什么我试图找到一个解决方案,从path
中删除一个级别,是的,这看起来很简单,按钮中有“硬编码”的路由,这就是为什么我试图找到一种动态的方法。一个可能的解决方案可能是检索Route::path()
,然后在/
上使用PHPexplode
删除最后的url部分,但这很难看。无论如何,谢谢你的回答。@priMo-ex3m,我用一个通用案例更新了我的答案是的,它看起来与我可能的解决方案相似,但这有点难看。因此,我将在第一页使用一个带有URL::previous()
route的按钮,在第二页使用一个{route('posts.index')}
。它看起来符合您的目的。如果您在不同的布局中需要它,您可以创建“零件”布局并将其包括在内。e、 g.@include(“back.button”)或类似的东西。是的,这似乎很简单,按钮中有“硬编码”的路由,这就是为什么我试图找到一种动态的方式来做它。一个可能的解决方案可能是检索Route::path()
,然后在/
上使用PHPexplode
删除最后的url部分,但这很难看。无论如何,谢谢你的回答。@priMo-ex3m,我用一个通用案例更新了我的答案是的,它看起来与我可能的解决方案相似,但这有点难看。因此,我将在第一页使用一个带有URL::previous()
route的按钮,在第二页使用一个{route('posts.index')}
。它看起来符合您的目的。如果您在不同的布局中需要它,您可以创建“零件”布局并将其包括在内。e、 g.@include(“back.button”)或类似的东西。