Laravel에는 사용자가 등록 할 수있는 API가 있습니다.Laravel 5에서 고유 한 유효성 검사를 사용 했음에도 불구하고 중복 된 필드
등록은 이메일은 고유 할 수있는 간단한 검증을 가지고 있으며,이 같은 같습니다 중복 이메일 내 테이블에
public function register(Request $request) {
$this->validate($request, [
'email' => 'required|email|unique:users|max:255',
'password' => 'required|min:6|max:50',
]);
// create new user and save model
}
불행하게도, 난 아직도 발견 꽤 많은 사용자를.
내 앱이 동일한 요청을 여러 번 연속으로 빠르게 보내는 경우가 있다고 생각합니다. 이는 데이터베이스에 아직 추가되지 않은 것과 동일한 전자 메일을 보유하고 있음에도 불구하고 두 요청 모두 유효성 검사를 통과 함을 의미합니다.
전자 메일의 고유성을 보장하기 위해이 문제를 어떻게 해결할 수 있습니까?
어떻게 도움이 성능 저하가 없습니다 DB의'email' 열에 'UNIQUE' 키를 사용하는 것에 관해서? 그런 다음 코드 1062에서 SQL 오류가 발생했는지 확인할 수 있습니다.이 오류는 키 중복 ()의 오류를 다시 표시합니다. –
예 고유 키를 추가 할 계획 이었지만 오류를 감지하고 처리 할 수 있기를 원했습니다. 언급 한 오류를 어떻게 처리 할 수 있습니까? –
실제로 데이터를 삽입 할 때'try-catch 블록 '을 사용할 수 있습니다 : –