2014-04-03 2 views
0

나는 laravel로 등록 양식을 만들었습니다. 데이터베이스의 전자 메일 열은 UNIQUE로 분류됩니다. 한 사용자에게 이메일 주소를 등록하고 두 번째로 양식을 보내려는 경우이 예외를 catch하고 사용자에게 오류 메시지를 표시하려고합니다.Laravel - 데이터베이스 예외를 잡는 방법? 코드 500

그러나 현재 내가 식별 할 수있는 유일한 것은 코드 500이 다시 나에게 돌아오고 나는 그 예외를 잡아서 더 사용자 친화적 인 메시지를 표시 할 기회가 없다는 것입니다. 다음과 내 질문에 $user->save가 발생하지 않았 음을 내가 감지 할 수있는 앱 코드 (500)

//Storing the data to the database 
    try { 
     $user = new User; 
     $user->name = Input::get('name'); 
    $user->surname = Input::get('sname'); 
     $user->email = Input::get('email'); 
     $user->activatehash = str_random(25); 
     $user->ip = Request::getClientIp(); 
     $status = $user->save(); 
    } catch(\Exception $e) { 
     //Do something when query fails. 
     return View::make("register", array('error' => 'true'))->withInput(Input::all()); 
    } 

어떤 아이디어를 다시 발생하지 방법을 그대로

내 코드는? 감사합니다.

+0

Validator 클래스를 사용 해본 적이 있습니까? http://laravel.com/docs/validation#rule-unique – 6elephants

+0

예, 전자 메일 주소를 가져온 경우 priror를 삽입하여 확인해야합니다. –

+0

알았어요. 감사! – Torben

답변

0

너는 Ardent을 봐야한다. 그런 다음 저장하기 전에 이메일이 고유 한 규칙을 정의 할 수 있습니다.

public static $rules = array(
    'email' => array('required', 'unique', 'email') 
);