diff --git a/Database/Traits/QueryTrait.php b/Database/Traits/QueryTrait.php index c60d127c..357b9a6d 100644 --- a/Database/Traits/QueryTrait.php +++ b/Database/Traits/QueryTrait.php @@ -496,10 +496,10 @@ trait QueryTrait $conditionArray = $this->makeClosureFunction($conditionArray); } - if (func_num_args() == 3) { + if (func_num_args() > 1) { [$conditionArray, $opera, $value] = $this->opera(...func_get_args()); - $conditionArray = $this->sprintf($conditionArray, $opera, $value); + $conditionArray = $this->sprintf($conditionArray, $value, $opera); } $this->where = ['(' . implode(' AND ', $this->where) . ') OR (' . $conditionArray . ')']; diff --git a/Database/Traits/When.php b/Database/Traits/When.php index 29e77add..35964d8b 100644 --- a/Database/Traits/When.php +++ b/Database/Traits/When.php @@ -6,10 +6,8 @@ namespace Database\Traits; use Database\ActiveQuery; use Database\ISqlBuilder; -use Database\Query; use Exception; use JetBrains\PhpStorm\Pure; -use Snowflake\Exception\NotFindClassException; /** @@ -73,7 +71,7 @@ class When if (!empty($this->else)) { $prefix .= ' ELSE ' . $this->else; } - return $prefix . ' END'; + return '(' . $prefix . ' END)'; } }