改进Validate类的uniuqe验证规则 第一个参数传入不带数据表前缀的表名 并且支持主键自动获取

This commit is contained in:
thinkphp
2016-04-25 15:04:47 +08:00
parent 5da3b9135f
commit e4f45aa0cd
2 changed files with 16 additions and 5 deletions

View File

@@ -602,7 +602,7 @@ class Validate
if (is_string($rule)) {
$rule = explode(',', $rule);
}
$db = Db::table($rule[0]);
$db = Db::name($rule[0]);
$field = isset($rule[1]) ? $rule[1] : $field;
if (strpos($field, '^')) {
@@ -617,7 +617,7 @@ class Validate
$map[$field] = $data[$field];
}
$key = strval(isset($rule[3]) ? $rule[3] : 'id');
$key = strval(isset($rule[3]) ? $rule[3] : $db->getPk());
if (isset($rule[2])) {
$map[$key] = ['neq', $rule[2]];
} elseif (isset($data[$key])) {