2017-09-27 51 views
-4

我在我的項目中使用了php和pdo。在這個項目中,我有很多選擇與diferents表的加入和返回。用PDO獲取2個或更多對象

當返回只有一個表時,我使用PDO :: FETCH_CLASS來填充我的對象與數據庫的返回,(所有類的屬性具有DB的列的相同名稱)我的問題是人口2或具有相同查詢的更多對象。

+0

你的代碼在哪裏? – Akintunde007

+0

在這種情況下代碼不會導入,因爲我需要e通用解決方案來獲取多個對象,與PDO :: FETCH_CLASS相同,但我無法將2個或多個對象傳遞給此pdo的靜態函數。在我的搜索中,我沒有看到任何PDO來解決這個問題,只使用ORM的 –

+3

,所以你期望有人爲你寫一個通用的解決方案。嗯不知道堆棧溢出是一個免費的編碼寫作服務。也許我沒有得到備忘錄 – Akintunde007

回答

-1

如果你談論的是從一個數據庫行產生兩類,然後用PDO::FETCH_CLASSPDO::FETCH_OBJ是不會幫助,因爲遊標fetch()被調用後移動到下一行集的內容。回滾PDO結果集取決於數據庫,因此您的數據庫可能不支持該數據庫。

您的替代方案是使用PDOStatement::fetchAll,然後在對該嵌套數組集進行迭代期間,對每行做出關於是否水合一個或兩個對象的決定。您可能需要一個構造函數或公共setter才能做到這一點。