2017-01-04 1 views
2

현재 Laravel 5.3 login/auth을 구현하려고하며 내 데이터베이스와 일치하도록 사용자 모델 필드와 위치를 업데이트했습니다. 그러나 Laravel이 필드 이름 '전자 메일'에 대한 내 테이블을 쿼리하는 위치를 찾지 못하는 것 같습니다. RegisterController에서 Validator :: make 함수를 편집하여 '전자 메일'을 사용하여 고유 한 사용자를 시도하는 것을 중지했지만 아직 유지합니다. 여기에 내 오류 :laravel 로그인/인증에 내장 된 잘못된 필드 이름을 묻는 질문

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'email' in 'where clause' (SQL: select * from `tblUserAccount` where `email` = [email protected] limit 1) 

올바른 테이블을 가지고 있지만 해당 테이블의 필드는 전자 메일이 아니라 전자 메일입니다. 이 필드는 내 사용자 모델에 있습니다. 이걸 어디에서 바꿀 수 있니?

+0

http://stackoverflow.com/questions/28584531/modify-existing-authorization-module-email-to-username –

+1

주제를 벗어나지 만, 귀하의 칼럼에 이름을 지정하지 말 것을 권합니다. – Mihailo

+1

@Mihailo 테이블을 의미합니까? – ceejayoz

답변

2

Laravel은 인증을 위해 기본적으로 email 필드를 사용합니다.

5.3에서는이 같은 app\Http\Controllers\Auth\LoginController.phpusername() 메소드를 오버라이드 (override)를 시도 할 수 있습니다 :

public function username() 
{ 
    return 'custom_username'; 
} 

또한, 당신이 app\Http\Controllers\Auth\RegisterController.phpvalidator() 방법으로 규칙을 변경해야합니다.

+0

이 무엇인가? 사용자 모델? – caro

+0

'app \ Http \ Controllers \ Auth \ LoginController.php'에서 –

관련 문제