2014-07-14 95 views
-1

想象一下這樣的情景:PHP模板獲取數據

  • 數據庫表任務
  • DB表tasks_work

我想顯示花費在每項任務(task_work)任務和時間。

Controller_Tasks從Model_Tasks獲取數據並傳遞給視圖一個包含任務(id,title ..)的多維數組,我在其中執行了一個循環,並且我想爲每個任務獲取相應的任務。

我在類似的以前的項目中所做的是模板調用模板的foreach循環內的控制器,但我認爲這不是一個好習慣。

有什麼建議嗎?

謝謝!

UPDATE: 在Controller_Tasks我這樣做:

foreach ($this->View->tasks as $task): extract($task); 
    #multidimensional array with id of task 
    $this->View->tasks_work[$task['id_crm_tasks']] = $Model_Tasks_Work->read('id_task = '.$task['id_crm_tasks'],'','','','time'); 
endforeach; 

,並且模板,循環任務的時候,我得到了任務的工作:

<? foreach($this->tasks_work[$task_id_crm_tasks] as $task_work):?> 

     <?=$task_work['time']?> 

    <? endforeach?> 

It's工作,而模板什麼也沒有!

+0

爲什麼減1? – pbs

+0

因爲這完全沒有信息,所以實際上會讓別人去調試它。當前表單中的文章預計用戶會猜測,可能導致問題的原因。 –

+0

這不是一個真正的問題,我正在尋找最佳實踐來獲取MVC結構上的視圖(模板,就像您稱之爲)的數據。 – pbs

回答

-1

根據您的體系結構,這種類型的任務可以通過原生sql查詢輕鬆處理。更友好的解決方案是將方法添加到能夠獲取此信息的模型中。另一個解決方案是提供專門的服務。爲了獲得一個數字而循環使用模型數據是非常糟糕的做法。你用什麼框架?

+0

原生sql查詢如何?使用一些連接?如何在視圖上循環信息,因爲我將有許多task_work用於一項任務。 我正在使用我的一個MVC框架。 – pbs

+0

[Here](http://www.w3resource.com/sql/joins/joining-with-group-by-and-order-by.php)就是一個例子,它是如何做到的。不需要循環,分組是你的朋友。 – Keo

+0

我需要循環顯示信息和總結工作時間.. – pbs