diff --git a/library/think/Model.php b/library/think/Model.php index ebeffbb4..b38778ab 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -508,7 +508,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess $value = json_decode($value, true); break; case 'array': - $value = is_null($value) ? [] : json_decode($value, true); + $value = empty($value) ? [] : json_decode($value, true); break; case 'object': $value = empty($value) ? new \stdClass() : json_decode($value); diff --git a/library/think/Route.php b/library/think/Route.php index cf640a4a..1d599a2d 100644 --- a/library/think/Route.php +++ b/library/think/Route.php @@ -1281,9 +1281,6 @@ class Route } elseif (strpos($url, '/')) { // [模块/控制器/操作] $path = explode('/', $url); - } elseif (false !== strpos($url, '=')) { - // 参数1=值1&参数2=值2... - parse_str($url, $var); } else { $path = [$url]; } diff --git a/library/think/db/Builder.php b/library/think/db/Builder.php index 56665527..5097016d 100644 --- a/library/think/db/Builder.php +++ b/library/think/db/Builder.php @@ -379,7 +379,7 @@ abstract class Builder } else { $zone = implode(',', $this->parseValue($value, $field)); } - $whereStr .= $key . ' ' . $exp . ' (' . $zone . ')'; + $whereStr .= $key . ' ' . $exp . ' (' . (empty($zone) ? "''" : $zone) . ')'; } } elseif (in_array($exp, ['NOT BETWEEN', 'BETWEEN'])) { // BETWEEN 查询