访问控制器中的zf2数据库结果对象

时间:2013-03-18 15:17:05

标签: database arrays controller zend-framework2 resultset

如何使用foreach循环在控制器中循环我的db结果?

$select = new Select();
$select->from('table_name');
$select->where(array('salt'  => $salt));
$select->where(array('ip'    => $this->_getUserIp()));

$rowset = $this->tableGateway->selectWith($select);

return $rowset;

我想我需要将db结果对象转换为数组?

提前致谢

1 个答案:

答案 0 :(得分:0)

http://framework.zend.com/manual/2.1/en/modules/zend.db.result-set.html

Zend\Db\ResultSet\ResultSet扩展了traversable,因此您可以使用foreach

foreach($this->getSomeTable()->fetchAll() as $row) {
    //here you can access the row as an array or use getters if you have set a prototype object
    //eg
    $userId = $row['user_id'];
    $userId = $row->user_id;
    $userId = $row->getId();

}

另外,我建议您阅读入门指南。这里解释了所有这些基本内容。

http://framework.zend.com/manual/2.1/en/user-guide/overview.html