2012-12-09 35 views
0

我有一個數據庫與表categories它有一個唯一的關鍵item_iduser_id。當我將在我的控制器新類別使用它:Kohana模型與兩列上的唯一鍵

$category = new Model_Category(); 
$category->item_id = $item_id; 
$category->user_id = $user_id; 
$category->save(); 

的Kohana 3.2返回錯誤「關鍵重複條目‘1-3’」。將它封裝在try/catch中是更好的做法,還是在嘗試添加它之前檢查唯一鍵是否已經存在會更好?

回答

0

我會對try catch的建議,因爲它使用少一個查詢來檢查重複鍵,但是這可能會限制可以顯示給用戶的信息量,因爲im不知道該異常是否包含實際列這違反了關鍵,我認爲它只是一個通用的錯誤,所以如果你想實際檢查兩列中的哪一列給出了錯誤,你可能想在此之前使用查詢。希望能幫助到你。僅供參考,我使用嘗試捕捉大部分時間,更清晰和容易記錄錯誤。