我正在尝试将数据从我的数据库返回到Zend Framework 2中的JSON。我现在正在使用TableGateway,它返回一个ResultSet。但是JsonModel无法显示结果集。 有没有办法转换它,还是有其他方式来访问我的数据库?
HomeController中的IndexAction
public function indexAction()
{
return new JsonModel(array(
'posts' => $posts,
'resources' => $resources,
'style' => $style,
'imgStyle' => $imgStyle,
'success' => true,
));
}
返回结果集的函数
public function fetchAll()
{
$resultSet = $this->tableGateway->select(function (Select $select) {
$select->order('date DESC');
});
return $resultSet;
}
答案 0 :(得分:3)
考虑到你已经在module.config.php中完成了这个:
'view_manager' => array(
'strategies' => array(
'ViewJsonStrategy',
),
),
我的下一个建议是将结果转换为数组。
$resultSet->toArray();
OR
$return = array();
foreach( $resultSet as $r )
$return[]=$r;
您返回新的JsonModel是正确的。