2015-05-10 1 views
2

Я уже создал имя пользователя в столбце и заполнил его в таблице пользователей, которая использовалась с laravel 5, встроенным в систему для входа в систему, и то, что я пытаюсь сделать, - это использовать имя пользователя вместо электронной почты по умолчанию, так что я подправить код, который я нашел в Laravel \ поставщика \ compiled.php следующее (см ниже)laravel 5 встроенные строительные леса пытались использовать имя пользователя вместо ошибки электронной почты

этот код по умолчанию

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())); 
} 

в

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

, но это дает мне ошибку говоря

QueryException в connection.php линии 620: SQLSTATE [42S22]: Column не найдено: 1054 Неизвестный столбца '0' в 'где предложение' (SQL: SELECT * FROM dodong_users где username = [email protected] и 0 = 0 предел 1)

любая помощь, предложение, рекомендация, подсказки, идеи, чтобы исправить это, чтобы я мог войти в систему с именем пользователя вместо электронной почты будет весьма признателен. Спасибо!

ответ

0

Изменить это:

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('remember') в неправильном месте. Он искал столбец 0, потому что вы передали значение $request->has('remember') как часть данных attempt().

Чтобы использовать пример из documentation, вы делали это:

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... 
} 
+0

Thanky Вас! работает как шарм –

Смежные вопросы