From 405cf1cb3457401ad5af1a2fabfbcb1e13f34c5a Mon Sep 17 00:00:00 2001 From: kj Date: Sat, 14 Aug 2021 17:46:14 -0400 Subject: [PATCH] Fix count on not resetQuery. --- src/Libs/ModelMySQL.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Libs/ModelMySQL.php b/src/Libs/ModelMySQL.php index 5699d4d..07c74b2 100644 --- a/src/Libs/ModelMySQL.php +++ b/src/Libs/ModelMySQL.php @@ -631,11 +631,28 @@ class ModelMySQL { * @return int */ public static function count($resetQuery = true) { + if (!$resetQuery) + $backup = [ + 'select' => static::$querySelect['select'], + 'sql_calc_found_rows' => static::$querySelect['sql_calc_found_rows'], + 'limit' => static::$querySelect['limit'], + 'orderBy' => static::$querySelect['orderBy'] + ]; + static::$querySelect['select'] = ['1']; static::$querySelect['sql_calc_found_rows'] = true; static::$querySelect['limit'] = '1'; static::$querySelect['orderBy'] = ''; + $sql = static::buildQuery($resetQuery); + + if (!$resetQuery) { + static::$querySelect['select'] = $backup['select']; + static::$querySelect['sql_calc_found_rows'] = $backup['sql_calc_found_rows']; + static::$querySelect['limit'] = $backup['limit']; + static::$querySelect['orderBy'] = $backup['orderBy']; + } + $result = static::query($sql)->fetch_assoc(); return static::found_row(); }