在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; ?>
如何避免在视图中连接数据库?
答案 0 :(得分:1)
简单:只是不要这样做。
只需将数据库逻辑移离View。在Controller中执行foreach
循环或(甚至更好)模型,该模型为每个元素提取所需的数据。或者,如果可能,请使用JOIN
直接合并结果。