2010-08-03 13 views
0

我在表上添加了一個索引,只是爲了確保一組字段一起形成複合唯一鍵(此方法是否正確?或者有更好的選項與教條?)HowTo:在唯一索引在對象保存時失敗時顯示自定義錯誤消息

在做完這些之後,當我嘗試保存一個對象並且唯一約束失敗時,會生成一個SQL異常。處理這個問題的最好方法是什麼?並顯示自定義錯誤消息?

我的功課

  1. 檢查從MySQL &手柄它的到來異常代碼。但是,如果有多個這樣的限制,我們將無法敲定確切的一個

  2. 添加postValidator上的架構,並寫出邏輯在那裏

是否有第三種/更好的方法?

感謝

回答

0

正如前面所提出的,並通過Zolex證實,最好的辦法是寫一個後驗證!

1
try { 

    $model->save(); 

// maybe be more precise to catch only that special exception you described 
} catch (Doctrine_Exception $e) { 

    $e->setMessage('my error message'); 
    throw $e; 
} 

或者你可以使用學說的構建的驗證...

相關問題