【问题标题】:Laravel get unamed "GET" parameter id from URLLaravel 从 URL 获取未命名的“GET”参数 id
【发布时间】:2019-10-05 13:37:18
【问题描述】:

我试图从看起来或多或少像这样的 url 中获取一个值:

http://localhost:8000/new-user/7

在 url 中作为参数传递的这个数字 7 是一个 ID,我在其中从刀片表单提交作为对我在控制器中执行的操作的请求,但无论如何我都无法获得这个值。 这是我到目前为止所尝试的:

我尝试在我提交表单的控制器中使用它

$request->route('company_id');

我也尝试将其作为正确的 GET 参数:

<input type="hidden" name="company_id" id="company_id" value="{{app('request')->input('company_id')}}">

我也试过这个:

<input type="hidden" name="company_id" id="company_id" value="{{Input::get('company_id')}}">

还有这个:

<input type="hidden" name="company_id" id="company_id" value="{{$_GET['company_id']}}">

这些选项都不起作用,我仍然收到一个空值。

关于如何获取此变量的任何想法或建议?

谢谢!

【问题讨论】:

  • 我可以看看你的路线吗
  • @Andres Hernandez:Route::get('/new-user/{company_id}', ['as'=>'new-user','uses'=>'UserController@newUserView' ]);
  • 你是怎么得到控制器中的参数的?你能把那部分加清楚吗?
  • 此 id 在 URL 中和同一页面的刀片内容中,我希望从 url 中获取此 id 并通过表单提交作为隐藏输入字段传递 ($request->input('公司 ID'))。然后在控制器中我处理变量
  • 如果您能够从显示表单的控制器函数中获取它,那么只需从该函数将其传递给表单?

标签: php laravel laravel-blade url-parameters get-request


【解决方案1】:

route parameterquery parameter 是两个不同的东西。

如果你有这样定义的路由:

/** routes/web.php */

Route::get('/new-user/{id}', 'UsersController@show');

在这种情况下,$id 是一个路由参数。所以要进入你的刀片视图,你可以这样做:

/** resources/my_view.blade.php */

{{ request()->id }}

因此,使用类似于您使用的http://localhost:8000/new-user/7 的请求应该输出:7

另一种情况是当你有一个query param。这些变量不需要在路由中定义。例如这种类型的调用,使用上一个示例中定义的相同路由:

GET http://localhost:8000/new-user/7?foo=bar
                                    ^^^^^^^^

在这种情况下,foo=bar 可以这样访问:

{{ request()->query('foo') }} // 'bar'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-26
    • 2020-07-11
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 2014-09-13
    相关资源
    最近更新 更多