Php ZF2:TableGateway结果集到JSON
我正在尝试将数据从数据库返回到Zend Framework 2中的JSON。我正在使用TableGateway,它会返回一个结果集。但是JsonModel无法显示结果集那么有没有转换的方法,或者有没有其他方法访问我的数据库? HomeController中的索引操作Php ZF2:TableGateway结果集到JSON,php,json,zend-framework2,Php,Json,Zend Framework2,我正在尝试将数据从数据库返回到Zend Framework 2中的JSON。我正在使用TableGateway,它会返回一个结果集。但是JsonModel无法显示结果集那么有没有转换的方法,或者有没有其他方法访问我的数据库? HomeController中的索引操作 public function indexAction() { return new JsonModel(array( 'posts' => $posts, 'resources' =&
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;
}
考虑到您已经在module.config.php中完成了此操作:
'view_manager' => array(
'strategies' => array(
'ViewJsonStrategy',
),
),
我的下一个建议是将结果转换为数组
$resultSet->toArray();
或
您返回的新JsonModel是正确的。toArray()将不起作用,因此我手动将其转换为数组!是的,事实上,如果您将toArray提取到一个类中,它将失败,不知道为什么,让函数toArray()始终工作将是有用的:),我相信zf2开发人员可能有一个很好的理由。
$return = array();
foreach( $resultSet as $r )
$return[]=$r;