簡體   English   中英

Laravel-如何捕獲數據庫異常? 代碼500

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM