我得到一个错误:
Type error: Argument 1 passed to App'Http'Controllers'Auth'AuthController::authenticated() must be an instance of App'Http'Controllers'Auth'Request, instance of Illuminate'Http'Request given, called in /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php on line 115
这是我的自定义authenticated()
protected function authenticated(Request $request, $user){
$successmessage = 'Welcome back, '.Auth::user()->username.'!';
$request->session()->flash('success', $successmessage);
return redirect()->intended($this->redirectPath());
}
其返回上述错误。有什么帮助吗?
您需要使用来自'App'Http'Controllers'Auth'Request
的请求更改您的方法声明如下:
protected function authenticated('App'Http'Controllers'Auth'Request $request, $user){
^^ //here is a change
$successmessage = 'Welcome back, '.Auth::user()->username.'!';
$request->session()->flash('success', $successmessage);
return redirect()->intended($this->redirectPath());
}
更改:
use App'Http'Requests;
至
use Request;
检查类Request是否存在于App''Http''Controllers''Auth文件夹中。如果存在,只需在命名空间后面包含请求路径:
use App'Http'Controllers'Auth'Request;
您可以这样做。。
use Auth;
use Request;
protected function authenticated($user){ //Changed
$successmessage = 'Welcome back, '.Auth::user()->username.'!';
Request::session()->flash('success', $successmessage); //Changed
return redirect()->intended($this->redirectPath());
}
我希望这会奏效。