diff --git a/library/think/Model.php b/library/think/Model.php index 99105caa..391f78b6 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -1070,12 +1070,17 @@ abstract class Model implements \JsonSerializable, \ArrayAccess } } - if (is_string($pk) && isset($data[$pk])) { - if (!isset($where[$pk])) { - unset($where); - $where[$pk] = $data[$pk]; + $array = []; + + foreach ((array) $pk as $key) { + if (isset($data[$key])) { + $array[] = [$key, '=', $data[$key]]; + unset($data[$key]); } - unset($data[$pk]); + } + + if (!empty($array)) { + $where = $array; } // 检测字段