diff --git a/application/Espo/ORM/Query/Part/Where/AndGroup.php b/application/Espo/ORM/Query/Part/Where/AndGroup.php index 200708f9b7..535beda623 100644 --- a/application/Espo/ORM/Query/Part/Where/AndGroup.php +++ b/application/Espo/ORM/Query/Part/Where/AndGroup.php @@ -81,6 +81,7 @@ class AndGroup implements WhereItem $whereClause = $whereClause[0]; } + // Do not refactor. $obj = static::class === WhereClause::class ? new WhereClause() : new self(); diff --git a/application/Espo/ORM/Query/Select.php b/application/Espo/ORM/Query/Select.php index 0ec5077bc9..3cf104af7b 100644 --- a/application/Espo/ORM/Query/Select.php +++ b/application/Espo/ORM/Query/Select.php @@ -175,12 +175,17 @@ class Select implements SelectingQuery return null; } - /** @phpstan-ignore-next-line */ - return WhereClause::fromRaw($havingClause); + $having = WhereClause::fromRaw($havingClause); + + if (!$having instanceof WhereClause) { + throw new RuntimeException(); + } + + return $having; } /** - * @param array $params + * @param array $params */ private function validateRawParams(array $params): void { diff --git a/application/Espo/ORM/Query/SelectingTrait.php b/application/Espo/ORM/Query/SelectingTrait.php index e89e1dd48d..bd73f5bbbe 100644 --- a/application/Espo/ORM/Query/SelectingTrait.php +++ b/application/Espo/ORM/Query/SelectingTrait.php @@ -74,8 +74,13 @@ trait SelectingTrait return null; } - /** @phpstan-ignore-next-line */ - return WhereClause::fromRaw($whereClause); + $where = WhereClause::fromRaw($whereClause); + + if (!$where instanceof WhereClause) { + throw new RuntimeException(); + } + + return $where; } /**