diff --git a/library/think/db/Builder.php b/library/think/db/Builder.php index 3e7a60e9..b9683969 100644 --- a/library/think/db/Builder.php +++ b/library/think/db/Builder.php @@ -523,10 +523,12 @@ abstract class Builder $array = []; foreach ($order as $key => $val) { if (is_numeric($key)) { - if (false === strpos($val, '(')) { - $array[] = $this->parseKey($val, $options); - } elseif ('[rand]' == $val) { + if ('[rand]' == $val) { $array[] = $this->parseRand(); + } elseif (false === strpos($val, '(')) { + $array[] = $this->parseKey($val, $options); + } else { + $array[] = $val; } } else { $sort = in_array(strtolower(trim($val)), ['asc', 'desc']) ? ' ' . $val : '';