如何在Laravel中检索以下一级的URL路径?

时间:2018-03-13 14:30:54

标签: laravel routing

我有一条路线,例如/posts/6,我希望在这条路线上制作一个按钮,将我重定向回到下面一层的网址路径,在这种情况下,转移到/posts/。我没有在BLADE中找到RequestRoute类的方法,这将解决该问题。

3 个答案:

答案 0 :(得分:2)

你试过了吗?

<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>

答案 1 :(得分:1)

你应该试试这个:

<a href="{{ url()->previous() }}" class="btn btn-danger btn-xs">Back</a>

答案 2 :(得分:0)

有很多方法可以做到这一点。但它是你想要的。

1)。第一个哑方式是使用静态路由<a href="{{ route('posts')}}>Back</a> 虽然我认为如果我们谈论具体案例这是一个好方法

2)如果您总是有resource/resourceId这样的模式,您可以获取当前网址并删除最后一部分(通过 explode()或任何其他功能)。

示例

<a href="{{ returnMyResourceRouteName(url()->current() ) }}>Back</a>

returnMyResourceRouteName()只获取当前网址,removes获取id