[英]Laravel - How to catch a database exception? Code 500
我用laravel創建了注冊表。 數據庫中的電子郵件列被分類為“唯一”。 如果我使用電子郵件地址注冊了一個用戶,並且想再次發送該表格,我想捕獲此異常並向用戶顯示錯誤消息。
但是目前我唯一能識別的是代碼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());
}
有任何想法嗎? 謝謝!
您應該看看Ardent 。 然后,您可以定義一個規則來確保您的電子郵件在保存之前是唯一的:
public static $rules = array(
'email' => array('required', 'unique', 'email')
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.