Laravel 从 URL 获取未命名的 "GET" 参数 ID
Laravel get unamed "GET" parameter id from URL
我正在尝试从 url 中获取一个值,它看起来或多或少像这样:
http://localhost:8000/new-user/7
作为参数在 url 中传递的数字 7 是一个 ID,我从 blade 表单中提交该 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']}}">
None os 这些选项有效,但我仍然收到一个空值。
关于如何获取这个变量有什么想法或建议吗?
谢谢!
一个route parameter and a query parameter是两个不同的东西。
如果您有这样定义的路由:
/** routes/web.php */
Route::get('/new-user/{id}', 'UsersController@show');
在这种情况下$id
是一个路由参数。因此,要进入 blade 视图,您可以这样做:
/** 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'
我正在尝试从 url 中获取一个值,它看起来或多或少像这样:
http://localhost:8000/new-user/7
作为参数在 url 中传递的数字 7 是一个 ID,我从 blade 表单中提交该 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']}}">
None os 这些选项有效,但我仍然收到一个空值。
关于如何获取这个变量有什么想法或建议吗?
谢谢!
一个route parameter and a query parameter是两个不同的东西。
如果您有这样定义的路由:
/** routes/web.php */
Route::get('/new-user/{id}', 'UsersController@show');
在这种情况下$id
是一个路由参数。因此,要进入 blade 视图,您可以这样做:
/** 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'