我正在用PDO写我自己的simply ORM。我的问题是,是否可以强制PDOStatement::fetchAll()
方法返回stdClass的对象数组?例如:
$result = $q->fetch_all(/* some magic here */);
print_r($result);
应该打印类似于:
Array
(
[0] => stdClass Object
(
[NAME] => pear
[COLOUR] => green
)
[1] => stdClass Object
(
[NAME] => watermelon
[COLOUR] => pink
)
)
这可能吗?NAME和COLOUR当然是列的名称。我读了文档,但我没有发现任何有趣的东西。
4条答案
按热度按时间pkmbmrz71#
使用
$result = $q->fetchAll(PDO::FETCH_OBJ);
gwbalxhn2#
这将做到这一点:
然而,更酷的方法是让PDO示例化你自己的类并为你填充属性:
Example #4为每个结果示例化类
下面的示例演示PDO::FETCH_CLASS提取样式的行为。
来源:http://www.php.net/manual/en/pdostatement.fetchall.php
vjrehmav3#
您还应该能够执行以下操作:
对于任何后续的
fetch
请求,您可以省略显式指定模式。o75abkj44#
通过在连接字符串的末尾添加数组参数,将默认模式设置为object,
那么就不需要魔法了,你可以从下面得到预期的结果: