diff --git a/src/DMLQueryBuilder.php b/src/DMLQueryBuilder.php index ce8dcb6a0..27c3a1af1 100644 --- a/src/DMLQueryBuilder.php +++ b/src/DMLQueryBuilder.php @@ -14,7 +14,7 @@ use Yiisoft\Db\Expression\ExpressionInterface; use Yiisoft\Db\Query\DMLQueryBuilder as AbstractDMLQueryBuilder; use Yiisoft\Db\Query\QueryBuilderInterface; -use Yiisoft\Db\Query\QueryInterface; +use Yiisoft\Db\Query\Query; final class DMLQueryBuilder extends AbstractDMLQueryBuilder { @@ -26,7 +26,7 @@ public function __construct(private QueryBuilderInterface $queryBuilder) /** * @throws Exception|InvalidArgumentException|InvalidConfigException|NotSupportedException */ - public function insertEx(string $table, QueryInterface|array $columns, array &$params = []): string + public function insertEx(string $table, Query|array $columns, array &$params = []): string { /** * @psalm-var string[] $names @@ -83,7 +83,7 @@ public function resetSequence(string $tableName, mixed $value = null): string */ public function upsert( string $table, - QueryInterface|array $insertColumns, + Query|array $insertColumns, bool|array $updateColumns, array &$params = [] ): string { diff --git a/src/PDO/CommandPDOMssql.php b/src/PDO/CommandPDOMssql.php index 2ac74c7f6..b5e467c18 100644 --- a/src/PDO/CommandPDOMssql.php +++ b/src/PDO/CommandPDOMssql.php @@ -21,7 +21,7 @@ public function __construct(private ConnectionPDOInterface $db, QueryCache $quer /** * @inheritDoc - */ + */ public function insertEx(string $table, array $columns): bool|array { $params = []; @@ -30,7 +30,10 @@ public function insertEx(string $table, array $columns): bool|array $this->setSql($sql)->bindValues($params); $this->prepare(false); - return $this->queryOne(); + /** @psalm-var array|bool */ + $result = $this->queryOne(); + + return is_array($result) ? $result : false; } public function queryBuilder(): QueryBuilderInterface