2012-10-18 62 views
0

我需要格式化數據以在MySQL請求後使用它們。格式化數據的位置?模型?控制器?

日期格式(使用最新的圖書館),分類和整理數據(使用循環)等

PHP示例(CodeIgniter的框架):

$result = $query->result_array(); 
$data = array(); 
foreach($result as $key => $value) { 
    $result[$key]['date'] = px_date_time_format($result[$key]['date'], 'fr');  
    if ($value['id_parent'] == 0) { 
     $data[$value['id']] = $result[$key]; 
    } 
} 

foreach($result as $key => $value) { 
    if ($value['id_parent'] != 0) { 
     $data[$value['id_parent']]['children'][$value['id']] = $value; 
    } 
} 

return $data; 

我應該在哪裏格式化這個數據?在我的模型或我的控制器?

+0

你很清楚「模型」的答案。但那是完全錯誤的。甚至更糟的是「in controller」版本,因爲如果有人正在實現MVVM模式,那麼COULD可能是真的。 –

回答

2

在視圖中。

在MVC設計模式中查看是負責表示邏輯的部分。它創建了響應,該瀏覽器(假設您正在討論適用於Web的MVC)接收。

查看來自模型層的數據,並基於它接收到的數據,以及之前由控制器設置的狀態,決定應該產生什麼響應。我可以是HTML (由多個模板組成) JSON,XML甚至只是一個HTTP標頭。

控制器處理用戶的輸入,模型層包含業務邏輯。

+0

不在視圖中!我需要改變MySQL返回的數據結構,所以真的不在視圖中! – alexmngn

+0

@tilix以正確實現的MVC模式直接從模型層請求數據。因此,在所述視圖開始將數據綁定到不同模板之前,在視圖中發生數據的格式化。 –

+0

我剛剛編輯了我的問題,告訴你爲什麼我在視圖中無法做到這一點。 – alexmngn

相關問題