diff --git a/library/think/db/Builder.php b/library/think/db/Builder.php index 3dfccab4..e4066c68 100644 --- a/library/think/db/Builder.php +++ b/library/think/db/Builder.php @@ -563,6 +563,10 @@ abstract class Builder */ protected function parseOrder($order, $options = []) { + if (empty($order)) { + return ''; + } + $array = []; foreach ($order as $key => $val) { if ($val instanceof Expression) { diff --git a/library/think/db/builder/Sqlsrv.php b/library/think/db/builder/Sqlsrv.php index 6207518e..ed961491 100644 --- a/library/think/db/builder/Sqlsrv.php +++ b/library/think/db/builder/Sqlsrv.php @@ -35,6 +35,9 @@ class Sqlsrv extends Builder */ protected function parseOrder($order, $options = []) { + if (empty($order)) { + return ' ORDER BY rand()'; + } $array = []; foreach ($order as $key => $val) { @@ -55,7 +58,7 @@ class Sqlsrv extends Builder } $order = implode(',', $array); - return !empty($order) ? ' ORDER BY ' . $order : ' ORDER BY rand()'; + return ' ORDER BY ' . $order; } /**