Laravel $ request-> input('var')在Controller中返回null

时间:2018-11-27 13:32:10

标签: laravel laravel-5

//路线

Route::get('/section/{id}', 'Controller@section');

//控制器

public function section(Request $request) {
  $id = $request->input('id');
  dd($id);
}

//输出

null
  1. 如果我尝试通过function($ id){}在Route内部进行检索,则检索$ id没问题。
  2. 未显示其他类型的错误。

谢谢。

5 个答案:

答案 0 :(得分:2)

Route parameters实际上是作为参数直接提供给您的控制器功能的。

public function section(Request $request, $id) {
    dd($id);
}

答案 1 :(得分:1)

您已将id指定为路由参数。它不是请求输入(从stdin读取)。

您需要将参数添加到您的方法中,以便可以将其传递给控制器​​方法:

public function section(Request $request, $id) {

答案 2 :(得分:1)

$id参数添加到以下函数中:

public function section(Request $request, $id) {
  dd($id);
}

然后,您可以直接使用$id

答案 3 :(得分:1)

作为路由参数,有两种访问此变量的方法。

通过方法自变量,正如已经提出的一些答案:

public function section(Request $request, $id) {

或通过请求的路由方法:

$request->route('id')

答案 4 :(得分:-1)

向参数添加$id以起作用仍返回null。

但是,Web Artisan建议: 直接致电$request->id起作用。

注意:变量不带引号。