diff --git a/Database/Traits/QueryTrait.php b/Database/Traits/QueryTrait.php index 29721772..587de2e4 100644 --- a/Database/Traits/QueryTrait.php +++ b/Database/Traits/QueryTrait.php @@ -737,7 +737,7 @@ trait QueryTrait */ public function makeNewSqlGenerate(): Query { - return Snowflake::createObject(Query::class); + return Snowflake::createObject(['class' => Query::class]); } @@ -804,12 +804,12 @@ trait QueryTrait } /** - * @param callable|array $conditions + * @param Closure|array $conditions * @return $this * @throws NotFindClassException * @throws ReflectionException */ - public function where(callable|array $conditions): static + public function where(Closure|array $conditions): static { if ($conditions instanceof Closure) { $conditions = $this->makeClosureFunction($conditions); diff --git a/Database/Traits/When.php b/Database/Traits/When.php index 9cbb06b1..29e77add 100644 --- a/Database/Traits/When.php +++ b/Database/Traits/When.php @@ -39,18 +39,14 @@ class When /** - * @param array|\Closure $condition + * @param string|int $condition * @param string $then * @return $this - * @throws \ReflectionException - * @throws NotFindClassException * @throws Exception */ - public function when(array|\Closure $condition, string $then): static + public function when(string|int $condition, string $then): static { - $this->_condition[] = sprintf('WHEN %s THEN %s', $this->activeQuery->makeNewSqlGenerate() - ->where($condition) - ->getCondition(), $then); + $this->_condition[] = sprintf('WHEN %s THEN %s', $condition, $then); return $this; }