This commit is contained in:
2021-08-09 17:14:55 +08:00
parent e2092648bc
commit f3f023268a
2 changed files with 6 additions and 10 deletions
+3 -3
View File
@@ -737,7 +737,7 @@ trait QueryTrait
*/ */
public function makeNewSqlGenerate(): Query 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 * @return $this
* @throws NotFindClassException * @throws NotFindClassException
* @throws ReflectionException * @throws ReflectionException
*/ */
public function where(callable|array $conditions): static public function where(Closure|array $conditions): static
{ {
if ($conditions instanceof Closure) { if ($conditions instanceof Closure) {
$conditions = $this->makeClosureFunction($conditions); $conditions = $this->makeClosureFunction($conditions);
+3 -7
View File
@@ -39,18 +39,14 @@ class When
/** /**
* @param array|\Closure $condition * @param string|int $condition
* @param string $then * @param string $then
* @return $this * @return $this
* @throws \ReflectionException
* @throws NotFindClassException
* @throws Exception * @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() $this->_condition[] = sprintf('WHEN %s THEN %s', $condition, $then);
->where($condition)
->getCondition(), $then);
return $this; return $this;
} }