laravel 5.2:获取查询字符串

Gam*_*mer 7 php laravel

我有以下网址 http://project.su/?invitee=95

首先,我想检查输入invitee网址,如果网址已invitee获得值.

我试过的(控制器):

if(!empty($request->get('invitee'))){
   $user->invitee = $request->get('invitee');
}
Run Code Online (Sandbox Code Playgroud)

以下代码无效.

我想将invitee结果(id)存储在数据库中.

谢谢.

Dep*_*zor 19

要确定是否存在输入值:

if ($request->has('invitee')) {
       $user->invitee = $request->input('invitee');
}
Run Code Online (Sandbox Code Playgroud)

具有如果该值存在,并且是不是空字符串方法返回true:

  • 这仅适用于 URL 参数,不适用于查询字符串。 (2认同)
  • 我完全不同意@TheFallen (2认同)

Vik*_*ran 13

就 Laravel 5.7 而言,检索查询参数的首选方法是

if( $request->has('invitee') ) {
    $request->query('invitee');
}
Run Code Online (Sandbox Code Playgroud)

或者如果您无权访问 $request,则使用辅助函数

request()->query('invitee');
Run Code Online (Sandbox Code Playgroud)


Roh*_*ude 6

在 laravel 5.7 中,我们也可以使用request()->invitee. 通过使用它,我们可以获得 URL 路径参数和查询参数。假设我们有以下网址

http://localhost:8000/users/{id}?invitee=95
Run Code Online (Sandbox Code Playgroud)

要阅读idinvitee,我们可以使用

$id  ?
$invitee ? - Invalid
request()->id ?
request()->invitee ?
Run Code Online (Sandbox Code Playgroud)