Laravel \ Request :: get()

时间:2018-01-05 10:59:03

标签: php laravel laravel-5

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

例如,我有一条路线

  

/产物

如果由于某种原因有人在路线的末尾添加变量,我希望在页面标题中包含规范链接。

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

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

  

/产品?模型= 1

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

我已经尝试了

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

然而,这与

发出嘎嘎声
  

功能参数太少

4 个答案:

答案 0 :(得分:2)

您可以使用\Request::query()获取laravel blade中的url params

尝试使用此

检查所有参数
<?php print_r(\Request::query()); ?>

并应用此代码检查url中存在的任何param

@if(\Request::query())

查看laravel doc

中的详细信息

答案 1 :(得分:0)

我设法通过计算 $ _ GET 来做到这一点。例如:

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

答案 2 :(得分:0)

如果你想检查url是否包含params,那么你可以使用它 -

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

在刀片检查中像 -

@if(\Request::input())

@endif

或者如果您想获得所有密钥,请使用$ key =&gt; foreach中的$ value表示法:

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

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

答案 3 :(得分:0)

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

$parameters= \Input::get()