【发布时间】:2017-02-12 04:05:35
【问题描述】:
我正在尝试使用 FETCH_LAZY。我可以在设置 $row 等于 $query->fetch() 的同时使用 while 循环。问题是当 fetchMode 为 FETCH_LAZY 时 fetchAll 不起作用。
如何返回 PDO 对象数组?
谢谢。
【问题讨论】:
-
向我们展示一些您尝试过的代码?
我正在尝试使用 FETCH_LAZY。我可以在设置 $row 等于 $query->fetch() 的同时使用 while 循环。问题是当 fetchMode 为 FETCH_LAZY 时 fetchAll 不起作用。
如何返回 PDO 对象数组?
谢谢。
【问题讨论】:
由于FETCH_LAZY 的本质,您不能在此模式下使用fetchAll。它只能与fetch() 一起使用。
您似乎只是将此模式与 FETCH_OBJ 混淆,后者将为您提供所需的对象数组
$array = $stmt->fethAll(PDO::FETCH_OBJ);
还请注意,除了创建 stdObj 实例之外,您还可以将 fetchAll 设置为 return an array of objects of any other class。
【讨论】: