【发布时间】:2013-04-19 13:40:42
【问题描述】:
如何在视图中访问 zend 数据库连接。
在我的例子中,我的 USERS index.phtml 显示所有用户列表,并且 USER 注册了多种语言,这些语言以 JSON 格式存储在数据库中
这里是 indexAction。
return new ViewModel(array(
'users' => $this->getRegisterTable()->fetchAll(),
));
在 index.phtml 里面
<?php foreach ($users as $users):?>
<?php
$getQuery = mysql_query("SELECT * FROM lang where id= $users->lang ");
$getResult = mysql_fetch_array($getQuery);
$lang = "<a href='" . $this->url(lang , array('action'=>'detail', 'id'=> $users->lang )) . "'>" .$getResult['name']."</a>";
?>
<?php endforeach;?>
所以要执行这个查询,我必须使用 MYSQL_CONNECT 手动初始化数据库连接
但我希望它只访问 zend 初始化数据库连接。
【问题讨论】:
-
使用视图助手。您可以在其中与数据库进行交互。
-
请删除任何示例链接。
-
这真是错误的做法。您应该在模型层中进行查询,并通过控制器从那里获取完整的结果。
-
我必须加强@Crisp 的观点。将所有需要的数据传递给视图是控制器的工作。然后,视图只需要迭代数据以用于渲染目的。 ViewHelper 永远不应该包含这样的业务逻辑。
标签: zend-framework2