浏览代码

Fixed:field处理的问题

zjh 2 月之前
父节点
当前提交
4f36846b6e
共有 1 个文件被更改,包括 15 次插入2 次删除
  1. 15 2
      src/Driver/Trait/SQL.php

+ 15 - 2
src/Driver/Trait/SQL.php

@@ -159,13 +159,13 @@ trait SQL
                 if($tmp[1] == '*') {
                     $arr[] = $tmp[0]. '.'.$tmp[1];
                 }else{
-                    $arr[] = $tmp[0]. '.`'.$tmp[1].'`';
+                    $arr[] = $tmp[0]. '.'. $this->handleSelectFieldName($tmp[1]);
                 }
             }else{
                 if($field == '*'){
                     $arr[] = $field;
                 }else{
-                    $arr[] = '`'.$field.'`';
+                    $arr[] = $this->handleSelectFieldName($field);
                 }
             }
         }
@@ -173,6 +173,19 @@ trait SQL
         return $this;
     }
 
+    /**
+     * 处理查询字段
+     *
+     * @param string $field 字段名
+     * @return mixed|string
+     */
+    protected function handleSelectFieldName($field){
+        if(stristr($field, 'as') !== false) {
+            return $field;
+        }
+        return '`'.trim($field).'`';
+    }
+
     /**
      * sql执行的开始时间
      *