This commit is contained in:
2024-12-29 21:34:12 +08:00
parent 78f7faba55
commit 1666af9906
+11 -9
View File
@@ -793,20 +793,22 @@ abstract class QueryTrait extends Component implements ActiveQueryInterface, ISq
/** /**
* @param string $columns * @param string $columns
* @param array|Closure $value * @param array|Closure|Query $value
* *
* @return $this * @return $this
* @throws * @throws Exception
*/ */
public function whereIn(string $columns, array|Closure $value): static public function whereIn(string $columns, array|Closure|Query $value): static
{ {
if ($value instanceof Closure) { if (is_array($value)) {
$value = $this->makeClosureFunction($value); if (count($value) < 1) throw new Exception('Value must be an not empty array');
}
if (count($value) < 1) {
$value = [-1];
}
$this->where[] = $columns . ' IN (' . implode(',', $value) . ')'; $this->where[] = $columns . ' IN (' . implode(',', $value) . ')';
} else if ($value instanceof Query) {
$this->where[] = $columns . ' IN (' . $value->build() . ')';
} else {
$this->where[] = $columns . ' IN (' . $this->makeClosureFunction($value) . ')';
}
return $this; return $this;
} }