我正在尝试使用 FETCH_LAZY。我可以使用 while 循环,同时将 $row 设置为等于 $query->fetch()。问题是当 fetchMode 为 FETCH_LAZY 时 fetchAll 不起作用。
如何返回 PDO 对象数组?
谢谢。
由于 FETCH_LAZY 的本质,您不能在此模式下使用
fetchAll
。它只能与 fetch()
一起使用。
您似乎只是将此模式与 FETCH_OBJ 混淆了,后者将为您提供所需的对象数组
$array = $stmt->fetchAll(PDO::FETCH_OBJ);
另请注意,除了创建 stdObj 实例之外,您还可以使 fetchAll 返回任何其他类的对象数组。