首页 > 解决方案 > Laravel 请求具有复杂 url 的通配符

问题描述

可以说我有一个这样的网址

http://www.mywebsitetest.com/users/1023/edit/photo/12

我希望能够对Request整个 URL 使用通配符,但它似乎不起作用。

例如,我想根据用户当前是否正在编辑而不是创建,将禁用属性添加到选择框,我正在这样做

<select
  @if(Request::has('*users/*/edit'))
    readonly="readonly" disabled="disabled"
  @endif
>
</select>

我究竟做错了什么?当它的网址很长很复杂时,如何Request::has()使用通配符构建它?

标签: phplaravellaravel-5

解决方案


我犯了一个愚蠢的错误!对于其他试图实现这一点的人,您需要使用Request::is()not Request::has()

所以对于网址

http://www.mywebsitetest.com/users/1023/edit/photo/12

检查它是否有edit一个简单的

@if(Request::is('*edit*'))
    readonly="readonly" disabled="disabled"
@endif

或者

@if(Request::is('*/users/*/edit'))
    readonly="readonly" disabled="disabled"
@endif

会正常工作。我快速简单的错误,只是想我回答它,以防其他人有同样的困惑/问题!


推荐阅读