Doctrine DBAL 2.13 $statement->execute() returns bool(而不是结果)

Doctrine DBAL 2.13 $statement->execute() returns bool (instead of Result)

自 Doctrine DBAL 2.13 发布以来,已添加弃用,如前所述 here

虽然获取结果的旧方法是这样的:

$statement->execute();
while (($row = $statement->fetch()) !== false) {
}

新的方式是这样的:

$result = $statement->execute();
while (($row = $result->fetchAssociative()) !== false) {
}

我想更新我的代码以便为 doctrine/dbal 3.0 做好准备,但是 $statement->execute() 不是 return 结果集而只是一个布尔值,所以没有什么可以迭代,即便如此,发行说明状态:

DBAL 3.0 extracts all fetch-methods from the Statement API and moved them to a new Result API that is returned from Statement::execute. We have backported this API to 2.13

这是否意味着向后移植失败或者我遗漏了什么?

更新至 doctrine/dbal 2.13.1(2021 年 4 月发布)并使用:

$result = $statement->executeQuery();
while (($row = $result->fetchAssociative()) !== false) {
}

请注意,executeQuery() 应该用于获取结果对象,因为 execute() 现在也已弃用。 (发行说明中也没有)