當我將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謝謝 –