2011-09-03 98 views
0

什麼是讀取數據庫並返回查詢對象或結果/ result_array的利弊?返回查詢或結果笨

$query = $this->db->get('mytable'); 
return $query; 

VS

$query = $this->db->get('mytable'); 
return $query->result; //or result_array() 

我知道,如果返回的查詢對象,它使得靈活的爲開發者獲取自己想要的任何類型的資源。但是這可能會導致代碼設計更模糊。

什麼被認爲是最佳做法?

回答

2

我想這取決於你需要將它進一步用它做,過程或將其展示給用戶的內容。如果簡單的結果必須顯示在視圖中,我寧願返回結果,否則如果需要更復雜的處理,可以返回查詢對象。

1

您應該返回結果對象或數組,因爲以後你可以修改它,並在它更多的數據,而不改變功能的行爲。

讓我拿起一個例子:

getTopic($ ID)假設這個函數返回一個基於課件ID爲一些課件的所有主題。稍後,您可能還希望統計相關主題。在返回結果對象或數組的情況下,它更容易做到;只需添加一個索引。另外,如果你只是想擁有查詢對象,直接從控制器調用它需要通過函數來​​路由它。函數調用意味着您希望處理的數據(現在或以後)不是查詢的直接輸出。

0

我更喜歡通過查詢對象,因爲它可以直接傳遞到$this->table->generate($query),它將包含列標題,而如果你通過了result()result_array()你失去了頭。