Find the best Rector rule to solve your problem. Searching through 1007 rules.

Found 7 rules:

AddArrayResultColumnNamesRector

Add column names argument to ArrayResult object

 use Doctrine\DBAL\Cache\ArrayResult;

 final class SomeClass
 {
     public function create(array $items)
     {
-        $result = new ArrayResult($items);
+        $result = new ArrayResult(array_keys($items[0] ?? []), $items);

         return $result;
     }
 }
SETS:  doctrine/dbal
PACKAGE:  doctrine/dbal >=4.2

ChangeCompositeExpressionAddMultipleWithWithRector

Change CompositeExpression ->addMultiple($parts) to ->with(...$parts)

 use Doctrine\ORM\EntityRepository;
 use Doctrine\DBAL\Query\Expression\CompositeExpression;

 class SomeRepository extends EntityRepository
 {
     public function getSomething($parts)
     {
         $compositeExpression = CompositeExpression::and('', ...$parts);
-        $compositeExpression->addMultiple($parts);
+        $compositeExpression->with(...$parts);
     }
 }
SETS:  doctrine/dbal
PACKAGE:  doctrine/dbal >=4.0

ExecuteQueryParamsToBindValueRector

Change executeQuery() with parameters to bindValue() with explicit values

 use Doctrine\DBAL\Statement;

 class SomeClass
 {
     public function run(Statement $statement, array $params): void
     {
-        $result = $statement->executeQuery($params);
+        foreach ($params as $key => $parameter) {
+            $statement->bindValue(is_int($key) ? $key + 1 : $key, $parameter);
+        }
+
+        $result = $statement->executeQuery();
     }
 }
SETS:  doctrine/dbal
PACKAGE:  doctrine/dbal >=4.0

MigrateQueryBuilderResetQueryPartRector

Change QueryBuilder::resetQueryPart() to $queryBuilder->reset*()

 class SomeRepository
 {
     public function resetQueryPart(\Doctrine\DBAL\Query\QueryBuilder $queryBuilder)
     {
-        $queryBuilder->resetQueryPart('distinct');
-        $queryBuilder->resetQueryPart('where');
-        $queryBuilder->resetQueryPart('groupBy');
-        $queryBuilder->resetQueryPart('having');
-        $queryBuilder->resetQueryPart('orderBy');
+        $queryBuilder->distinct(false);
+        $queryBuilder->resetWhere();
+        $queryBuilder->resetGroupBy();
+        $queryBuilder->resetHaving();
+        $queryBuilder->resetOrderBy();
     }
 }
SETS:  doctrine/dbal
PACKAGE:  doctrine/dbal >=3.8

QueryBuilderExecuteToExecuteQueryOrExecuteStatementRector

Replace QueryBuilder::execute() with executeQuery() or executeStatement() based on the query type

 $queryBuilder
     ->select('u.id')
     ->from('user', 'u')
-    ->execute();
+    ->executeQuery();
SETS:  doctrine/dbal
PACKAGE:  doctrine/dbal >=3.1

ReplaceFetchAllMethodCallRector

Change Doctrine\DBAL\Connection and Doctrine\DBAL\Driver\ResultStatement ->fetchAll() to ->fetchAllAssociative() and other replacements

 use Doctrine\DBAL\Connection;

 class SomeClass
 {
     public function run(Connection $connection)
     {
-        return $connection->fetchAll();
+        return $connection->fetchAllAssociative();
     }
 }
SETS:  doctrine/dbal
PACKAGE:  doctrine/dbal >=2.11

ExtractArrayArgOnQueryBuilderSelectRector

Extract array arg on QueryBuilder select, addSelect, groupBy, addGroupBy

 function query(\Doctrine\DBAL\Query\QueryBuilder $queryBuilder)
 {
-    $query = $queryBuilder->select(['u.id', 'p.id']);
+    $query = $queryBuilder->select('u.id', 'p.id');
 }
SETS:  doctrine/dbal
PACKAGE:  doctrine/dbal >=2.11