Laravel Request::get()



有没有办法检查是否存在任何GET变量?我不是在尝试找到一个特定的 GET 变量,如果存在任何 get 变量,我需要创建一个 if 语句。

例如,我有一条路线

/产品

如果出于任何原因有人在路线末尾添加变量,我想在页面标题中包含规范链接。

<link rel="canonical" href="{{ url($page->slug) }}" />

如果我知道参数,我可以应用此规范链接。例如,如果有人添加

/产品?型号=1

但是,如果有人添加了我不知道的 get 变量,那么这将不包括链接。

我试过了

@if(/Request::get())
   <link rel="canonical" href="{{ url($page->slug) }}" />
@endif

然而,这

叫了一声

参数太少,无法正常工作

您可以使用

Request::query()在 laravel blade 中获取 url 参数

尝试用这个检查所有参数

<?php print_r(Request::query()); ?>

并应用此代码检查 url 中是否存在任何参数

@if(Request::query())

在拉拉维尔文档中查看详细信息

我设法通过数 $_GET 来做到这一点。 例如:

@if(count($_GET) > 0)
    <link rel="canonical" href="{{ Request::url() }}" />
@endif

只需通过Input::get()获取所有 $_GET 变量:

$parameters= Input::get()
如果你想

检查url是否包含参数,那么你可以使用这个-

if($request->input()){
   ///do your task
}

在刀片检查中,例如-

@if(Request::input())
@endif

或者,如果您想获取所有密钥,请在 foreach 中使用 $key => $value 表示法:

$keys = array();
foreach ($request->input()  as $key => $part) {
   $keys[] = $key;
}

$keys将包含所有参数或输入字段

最新更新