Laravel Illuminate\Http\Request::input() 不应静态调用

Laravel Illuminate\Http\Request::input() should not be called statically

我正在尝试调用:session(['cor_id' => Request::input('cor_id')]);我的控制器,但出现以下错误:(我正在使用 Laravel 6)

Non-static method Illuminate\Http\Request::input() should not be called statically

任何帮助如何以正确的方式最好地解决这个问题

input 请求方法 class 不是静态方法,您应该从请求实例中调用它。

您可以像这样使用 app('request') 获取当前请求:

 $currentRequest =app('request')
session(['cor_id' => $currentRequest->input('cor_id')]);

Non-static method Illuminate\Http\Request::input() should not be called statically

应该调用方法 Illuminate\Http\Request::input()

$request->input('cor_id');

参考: https://laravel.com/docs/6.x/requests#retrieving-input

您需要使用门面,Illuminate\Support\Facades\Request 也可用作 Request,如果您想像那样静态调用方法,因为门面是请求的静态代理, Illuminate\Http\Request,实例。

use Request;
// or
use Illuminate\Support\Facades\Request;

Request::input(...);

否则你可能想要使用 Illuminate\Http\Request 的实例,因为你可以将它注入到你的控制器方法中:

use Illuminate\Http\Request;

public function something(Request $request, ...)
{
    ...
    session(['cor_id' => $request->input('cor_id')]);
    ...
}