我有一个视图循环数据库表返回狗信息。
这是控制器:
public function listAction()
{
$dogDao = new DogDao();
$this->view->infoDog = $dogDao->retrieveDogInfo();
}
在视图中我可以检索这样的狗信息:
<?php for($i = 0; $i < 30; $i++){ ?>
if(isset($this->infoDog[$i])){
$dog = $this->infoDog[$i];
这很好用。
我现在需要添加额外的狗特定信息,但狗信息不是我可以从Dog General Info表获得的信息,它需要一些连接,并且最后检索一个数字。
public function retrieveVerySpecificInformation($dogId) {
return $numberSpecificForThatDog
};
我(相信)我需要一个帮助来完成这些计算,我的问题是:
我应该在 for 所在的视图上调用此帮助器吗? 但是,如何以给定狗A的方式连接这些信息,两者: 一般的狗信息和该特定狗的特定数量A?
我的意思是,我们怎样才能在这里正确整合助手呢?
我可以帮忙吗?
提前致谢, MEM
答案 0 :(得分:1)
你可以这样调用视图助手
<?php echo $this->displayDog('A', 'black'); ?>
你的助手应该像
class Zend_View_Helper_Dog
{
public function displayDog($type, $color)
{
$dog = new Model_DbTable_Dog();
return $dog->getDog($type, $color);
}
}
确定从几个数据库操作的循环中调用视图助手,但是当您为每只狗进行自定义数据库查询时( 30个查询不推荐)< / p>
<强>建议强>
您应该在控制器中获取所需的所有信息并将其传递给您的视图,以后可以使用任何视图助手进行操作。
public function listAction()
{
this->view->infoAllDog = $dogDao->retrieveAllDogs();
// including joined info + all dogs you may need in your view