diff --git a/lib/Cake/Model/Model.php b/lib/Cake/Model/Model.php index 2d7486e4f08..5b617d9b0a3 100644 --- a/lib/Cake/Model/Model.php +++ b/lib/Cake/Model/Model.php @@ -2589,6 +2589,10 @@ protected function _findFirst($state, $query, $results = array()) { protected function _findCount($state, $query, $results = array()) { if ($state === 'before') { $db = $this->getDataSource(); + $query['order'] = false; + if (!method_exists($db, 'calculate') || !method_exists($db, 'expression')) { + return $query; + } if (empty($query['fields'])) { $query['fields'] = $db->calculate($this, 'count'); } elseif (is_string($query['fields']) && !preg_match('/count/i', $query['fields'])) { @@ -2596,7 +2600,6 @@ protected function _findCount($state, $query, $results = array()) { $db->expression($query['fields']), 'count' )); } - $query['order'] = false; return $query; } elseif ($state === 'after') { foreach (array(0, $this->alias) as $key) {