当我将fetchAll()
查询结果(SELECT * FROM users ...
)作为一个对象数组时,我希望这些对象是某个类的,即User
。PDO :: FETCH_OBJ +自定义类?
- 如何强制PDO使用的数据类型为
User
结果对象,并 - 我必须定义对应于类中的字段名所有成员变量?
当我将fetchAll()
查询结果(SELECT * FROM users ...
)作为一个对象数组时,我希望这些对象是某个类的,即User
。PDO :: FETCH_OBJ +自定义类?
User
结果对象,并有一个静态字段告诉PDO取得一个类,PDO::FETCH_CLASS
。
下面是获取User
对象的示例;
class User {
public $name;
public $firstname;
}
您必须确保字段名称与列字段名称相同,并且可以从您正在使用的类/文件访问该类。 (SELECT *
工作过,只是有可用的所有字段)
$query = "SELECT name, firstname FROM users";
而且把它包在课堂上,请使用下,
$users = $sth->fetchAll(PDO::FETCH_CLASS, "User");
然后,你可以简单地访问它User
对象的数组。
看看http://www.php.net/manual/en/pdostatement.setfetchmode.php 将获取模式设置为FETCH_CLASS应该可以让你顺利。
编辑:KarelG打我吧;)
哇,它有多简单:D谢谢 –