BadMethodCallException方法用户名不存在

时间:2018-01-13 00:00:25

标签: laravel-5.5

我有一个非常奇怪的问题。当我提交表单时,它会在服务器端验证时抛出错误。

  

BadMethodCallException

     

方法用户名不存在。

LoginController.php

class LoginController extends Controller
{
    use AuthenticatesUsers;
    protected $username = 'username';
    protected $redirectTo = '/dashboard';
    protected $guard = 'web';

    public function getLogin()
    {
        if (Auth::guard('web')->check())
        {
            return redirect()->intended('dashboard');
        }
        return view('login');
    }

    public function postLogin(Request $request)
    {
        $auth = Auth::guard('web')->attempt(['username' => $request->username(),
                                                   'password' => $request->password(), 'active' => 1]);
        if ($auth)
        {
            return redirect()->route('dashboard');
        }
        return redirect()->route('/');
    }

    public function getLogout()
    {
        Auth::guard('web')->logout();
        return redirect()->route('/');
    }
}

enter image description here

1 个答案:

答案 0 :(得分:0)

问题是你试图以方法的形式访问input属性,我的意思是$request->username()和密码相同,没有用户名方法,这就是你收到错误的原因。您可以使用input()方法访问输入,例如$request->input('username')或动态属性$request->username

docs

了解详情