我有一個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