laravel 5.2:获取查询字符串

时间:2016-08-03 07:24:55

标签: php laravel

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

首先,我想检查网址中的invitee,如果网址有invitee,则获取该值。

我尝试过的(控制器):

if(!empty($request->get('invitee'))){
   $user->invitee = $request->get('invitee');
}

以下代码无效。

我希望将invitee结果(id)存储在数据库中。

感谢。

6 个答案:

答案 0 :(得分:15)

确定输入值是否存在:

if ($request->has('invitee')) {
       $user->invitee = $request->input('invitee');
}

如果值存在且不是空字符串,则 has 方法返回true:

答案 1 :(得分:2)

您可以通过以下方式获得输入:

$invitee = Input::get('invitee');

对于5以上*。

$invitee = $request->input('invitee');

或者

$invitee = Request::input('invitee');

答案 2 :(得分:1)

在laravel 5.7中,我们也可以使用request()->invitee。通过使用此方法,我们可以同时获取URL路径参数和查询参数。假设我们在URL下方

http://localhost:8000/users/{id}?invitee=95

要阅读idinvitee,我们可以使用

$id  ✔
$invitee ✖ - Invalid
request()->id ✔
request()->invitee ✔

答案 3 :(得分:1)

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

if($request->has('invitee') {
    $request->query('invitee')
}

或使用辅助功能(如果您无权访问$ request)

request()->query('invitee')

答案 4 :(得分:0)

你在任何地方打电话给$user->save()吗?您应该致电$user->save()以实际保留数据。

如果您担心设置不正确,可以随时在示例中的第二行之后调用dd($user);进行检查,这样您就可以看到$user对象中设置了哪些属性。

您也可以将!empty($request->get('invitee'))替换为$request->has('invitee')

答案 5 :(得分:0)

检查invitee参数是否存在:

if($request->has('invitee')) {
    // ...
}

获取invitee的价值:

$invitee = $request->input('invitee');