2012-08-28 84 views
7

我有一個PHP類(POJO_FOO),它映射到一個表(TABLE_FOO)。從PDO返回數組對象

例如一行等於該類的一個對象。

現在我正在寫一個管理器,它返回匹配特定查詢的這些對象的數組。使用PDO,我該如何返回對象數組?

當我做簡單的fetchAll時,它返回關聯數組的數組(表示結果數)(column =>value)。在fetchALL有沒有一個選項可以給我的結果形式的對象數組?

+3

'PDO :: FETCH_CLASS'? – eggyal

+0

哇它的作品...不知道爲什麼它不工作時,我嘗試了。反正..謝謝你的答案。 – mrd081

回答

8

您可以使用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,它會在你的屬性被水化之後調用。

+0

哇它的作品...不知道爲什麼它不工作時,我嘗試了。反正..謝謝你的答案:) – mrd081

+0

關於PDO :: FETCH_CLASS | PDO :: FETCH_PROPS_LATE – artragis

+0

litle評論會做什麼? (FETCH_PROPS_LATE) – mrd081