Php Laravel5内置脚手架试图使用用户名而不是电子邮件错误

Php Laravel5内置脚手架试图使用用户名而不是电子邮件错误,php,laravel,laravel-5,Php,Laravel,Laravel 5,我已经创建了一个列username,并将其填入用于laravel 5内置登录脚手架的users表中,我正在尝试使用username而不是默认的电子邮件,因此我在laravel\vendor\compiled.php中找到了以下代码(参考下文) 这是默认代码 public function postLogin(Request $request) { $this->validate($request, array('email' => 'required|email', 'pas

我已经创建了一个列username,并将其填入用于laravel 5内置登录脚手架的users表中,我正在尝试使用username而不是默认的电子邮件,因此我在laravel\vendor\compiled.php中找到了以下代码(参考下文)

这是默认代码

public function postLogin(Request $request)
{
    $this->validate($request, array('email' => 'required|email', 'password' => 'required'));
    $credentials = $request->only('email', 'password');
    if ($this->auth->attempt($credentials, $request->has('remember'))) {
        return redirect()->intended($this->redirectPath());
    }
    return redirect($this->loginPath())->withInput($request->only('email', 'remember'))->withErrors(array('email' => $this->getFailedLoginMessage()));
}

但它给了我一个错误的说法

Connection.php第620行中的QueryException: SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“0”(SQL:select*from
dodong_用户
where
username
=dodong@dodong.com和
0
=0限制1)

任何帮助,建议,建议,线索,想法来解决这个问题,使我可以登录用户名而不是电子邮件将不胜感激。谢谢大家!

改变这一点:

if ($this->auth->attempt(['username' =>  $request->input('email'), 'password' =>  $request->input('password'), $request->has('remember')])) {
为此:

if ($this->auth->attempt(['username' =>  $request->input('email'), 'password' =>  $request->input('password')], $request->has('remember'))) {
看起来您刚刚把
$request->has('memory')
放错了位置。它正在查找一个名为
0
的列,因为您将
$request->has('memory')
的值作为
尝试()
数据的一部分传递

要使用来自的示例,您正在执行以下操作:

if (Auth::attempt(['email' => $email, 'password' => $password, $remember]))
{
    // The user is being remembered...
}
if (Auth::attempt(['email' => $email, 'password' => $password], $remember))
{
    // The user is being remembered...
}
当你应该这样做的时候:

if (Auth::attempt(['email' => $email, 'password' => $password, $remember]))
{
    // The user is being remembered...
}
if (Auth::attempt(['email' => $email, 'password' => $password], $remember))
{
    // The user is being remembered...
}