From ffa9c76cc6c0403d4c63cd6fc4295384672e48f1 Mon Sep 17 00:00:00 2001 From: liuzhaowei55 Date: Wed, 16 Dec 2015 19:39:41 +0800 Subject: [PATCH] update thinkphp/library/think/model.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 执行更加严格的order排序输入,避免$field=''时产生ORDER BY '' 的问题 当输入$field=''或$field=array();时直接忽略. --- library/think/model.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/library/think/model.php b/library/think/model.php index 3ce0dc2d..ea5625a8 100644 --- a/library/think/model.php +++ b/library/think/model.php @@ -1304,16 +1304,14 @@ class Model * @param string $order 排序 * @return Model */ - public function order($field, $order = '') + public function order($field, $order = null) { - if (is_array($field)) { + if (is_string($field) && !empty($field) && is_null($order)) { + $this->options['order'][] = $field; + } elseif (is_string($field) && !empty($field) && is_string($order)) { + $this->options['order'][$field] = $order; + } elseif (is_array($field) && !empty($field)) { $this->options['order'] = $field; - } else { - if (!empty($order)) { - $this->options['order'][$field] = $order; - } else { - $this->options['order'][] = $field; - } } return $this; }