改进Validate类的unique验证

This commit is contained in:
thinkphp
2017-12-13 13:54:16 +08:00
parent 29803c09c9
commit d69bc6c601

View File

@@ -837,13 +837,14 @@ class Validate
$map[$key] = $data[$field];
}
$pk = strval(isset($rule[3]) ? $rule[3] : $db->getPk());
if (isset($rule[2])) {
$map[$pk] = ['neq', $rule[2]];
} elseif (isset($data[$pk])) {
$map[$pk] = ['neq', $data[$pk]];
$pk = isset($rule[3]) ? $rule[3] : $db->getPk();
if (is_string($pk)) {
if (isset($rule[2])) {
$map[$pk] = ['neq', $rule[2]];
} elseif (isset($data[$pk])) {
$map[$pk] = ['neq', $data[$pk]];
}
}
if ($db->where($map)->field($pk)->find()) {
return false;
}