我有一个PHP类(POJO_FOO
),它映射到一个表(TABLE_FOO
)。从PDO返回数组对象
例如一行等于该类的一个对象。
现在我正在写一个管理器,它返回匹配特定查询的这些对象的数组。使用PDO
,我该如何返回对象数组?
当我做简单的fetchAll
时,它返回关联数组的数组(表示结果数)(column
=>value
)。在fetchALL
有没有一个选项可以给我的结果形式的对象数组?
我有一个PHP类(POJO_FOO
),它映射到一个表(TABLE_FOO
)。从PDO返回数组对象
例如一行等于该类的一个对象。
现在我正在写一个管理器,它返回匹配特定查询的这些对象的数组。使用PDO
,我该如何返回对象数组?
当我做简单的fetchAll
时,它返回关联数组的数组(表示结果数)(column
=>value
)。在fetchALL
有没有一个选项可以给我的结果形式的对象数组?
您可以使用PDO :: FETCH_CLASS与您的数据来滋润你的类:
return $pdo->query('SELECT * FROM tablefoo')->fetchAll(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE,'POJO_FOO');
它也是使用PDO :: FETCH_CLASS有用| PDO :: FETCH_PROPS_LATE因为它使对象的构造更是一致的。习惯你的构造函数在一切之前被调用。如果你不使用FETCH_PROPS_LATE,它会在你的属性被水化之后调用。
'PDO :: FETCH_CLASS'? – eggyal
哇它的作品...不知道为什么它不工作时,我尝试了。反正..谢谢你的答案。 – mrd081