ZF2:TableGateway ResultSet到JSON

时间:2014-10-04 15:48:37

标签: php json zend-framework2

我正在尝试将数据从我的数据库返回到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;
}

1 个答案:

答案 0 :(得分:3)

考虑到你已经在module.config.php中完成了这个:

'view_manager' => array(
    'strategies' => array(
        'ViewJsonStrategy',
    ),
),

我的下一个建议是将结果转换为数组。

$resultSet->toArray();

OR

$return = array();

foreach( $resultSet as $r )
    $return[]=$r;

您返回新的JsonModel是正确的。