避免在视图中连接到数据库

时间:2012-06-29 14:23:48

标签: database zend-framework zend-db-table

在IndexController中,我从表中检索数据并将它们发送到视图。 在视图中我做foreach循环并显示它。 需要从数据库中获取一种类型的数据,因此在视图中链接到数据库以获取它。

<?php foreach ($this->datas as $data ): > 
  <div id="<?php echo $data->data_id ?>"></div>
  <?php 

$Data = Zend_Db::factory('pdo_mysql', $config);

    $select = $Data->select()
            ->FROM('data')
            ->WHERE('data_id = ?',$data->anchor); 
       $name = $Data->fetchRow($select);
   ?>

<span class="nick_name"><?php echo $name?></span>  

<?php endif; ?>

如何避免在视图中连接数据库?

1 个答案:

答案 0 :(得分:1)

简单:只是不要这样做。

只需将数据库逻辑移离View。在Controller中执行foreach循环或(甚至更好)模型,该模型为每个元素提取所需的数据。或者,如果可能,请使用JOIN直接合并结果。