我有一个包含表categories
的数据库,该表在item_id
和user_id
上有唯一键。当我在控制器中添加新类别时,使用:
$category = new Model_Category();
$category->item_id = $item_id;
$category->user_id = $user_id;
$category->save();
Kohana 3.2返回“重复条目'1-3'以获取密钥”错误。将它包装在try / catch中是更好的做法,还是在尝试添加它之前检查唯一键是否已经存在更好?
答案 0 :(得分:0)
我会建议尝试catch,因为它使用少一个查询来检查重复键,但是这可能会限制您可以向用户显示的信息量,因为我不确定该异常是否包含实际列违反密钥,我认为它只是一个通用错误,所以如果你想实际检查两列中的哪一列给出错误,你可能想在此之前使用查询。希望能帮助到你。仅供参考我大部分时间都使用try catch,它更清晰,更容易记录错误。