2014-07-14 67 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