Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两列上具有唯一键的Kohana模型_Php_Kohana_Kohana 3 - Fatal编程技术网

Php 两列上具有唯一键的Kohana模型

Php 两列上具有唯一键的Kohana模型,php,kohana,kohana-3,Php,Kohana,Kohana 3,我有一个数据库,它有一个表categories,在项目id和用户id上有一个唯一的键。当我在控制器中添加新类别时,它使用: $category = new Model_Category(); $category->item_id = $item_id; $category->user_id = $user_id; $category->save(); Kohana 3.2返回“键的重复条目“1-3”错误。将其包装在try/catch中是更好的做法,还是在尝试添加它之前检查唯一

我有一个数据库,它有一个表
categories
,在
项目id
用户id
上有一个唯一的键。当我在控制器中添加新类别时,它使用:

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

Kohana 3.2返回“键的重复条目“1-3”错误。将其包装在try/catch中是更好的做法,还是在尝试添加它之前检查唯一键是否已经存在更好?

我建议使用try-catch,因为它使用较少的查询来检查重复键,但是,这可能会限制您可以向用户显示的信息量,因为我不确定异常是否包含违反键的实际列,我认为这只是一个一般性错误,因此如果您想实际检查两列中哪一列出现错误,您可能需要在这之前使用查询。希望能有帮助。仅供参考,我大部分时间使用try-catch,它更干净,更容易记录错误