diff --git a/lib/sqlbuilder/sqlbuilder.class.php b/lib/sqlbuilder/sqlbuilder.class.php index 640dca49dd..0a0e53fe49 100644 --- a/lib/sqlbuilder/sqlbuilder.class.php +++ b/lib/sqlbuilder/sqlbuilder.class.php @@ -848,11 +848,11 @@ class sqlBuilder /* where */ $wheres = $this->buildWheres(); - if(!empty($wheres)) $parser->addWhere($parser->combineConditions($this->getConditionsFromArray($parser, $wheres))); + if(!empty($wheres)) $parser->addWhere($parser->combineConditions($parser->getConditionsFromArray($wheres))); /* querys */ $querys = $this->buildQuerys(); - if(!empty($querys)) $parser->addWhere($parser->combineConditions($this->getConditionsFromArray($parser, $querys))); + if(!empty($querys)) $parser->addWhere($parser->combineConditions($parser->getConditionsFromArray($querys))); /* group by */ $groups = $this->getGroupBy(true, true); diff --git a/lib/sqlparser/sqlparser.class.php b/lib/sqlparser/sqlparser.class.php index 56652f9132..b54657a621 100644 --- a/lib/sqlparser/sqlparser.class.php +++ b/lib/sqlparser/sqlparser.class.php @@ -318,8 +318,10 @@ class sqlparser } else { - /* 如果tableB不为空,那么columnB就是字段,需要trim。*/ - if(!empty($tableB)) $columnA = $this->trimExpr($columnA); + /* 如果tableB不为空,那么columnB就是字段,需要trim('`')。*/ + if(!empty($tableB)) $columnB = $this->trimExpr($columnB); + /* 如果tableB为空,那么columnB是值,需要trim("'")。*/ + if(empty($tableB)) $columnB = $this->trimExpr($columnB, "'"); $exprA = empty($tableA) ? "`$columnA`" : "`$tableA`.`$columnA`"; $exprB = empty($tableB) ? "'$columnB'" : "`$tableB`.`$columnB`"; @@ -456,10 +458,10 @@ class sqlparser * @access private * @return string */ - private function trimExpr($expr) + private function trimExpr($expr, $char = '`') { if(empty($expr)) return $expr; - return trim(trim($expr), '`'); + return trim(trim($expr), $char); } /** diff --git a/lib/zin/wg/sqlbuildergroupby/css/v1.css b/lib/zin/wg/sqlbuildergroupby/css/v1.css index acfaaf02ba..b542483ac1 100644 --- a/lib/zin/wg/sqlbuildergroupby/css/v1.css +++ b/lib/zin/wg/sqlbuildergroupby/css/v1.css @@ -2,7 +2,7 @@ .max-h-16 {max-height: 4rem;} .basis-128 {flex-basis: 32rem;} .w-50 {width: 200px;} -.h-86 {height: 344px; +.h-86 {height: 344px;} .h-78 {height: 312px;} .h-70 {height: 280px;} .btn-group>.btn:not(:first-child) {border-left-color: var(--color-transparent);}