如何返回对象的Zend框架2的阵列? [英] how to return an array of objects in zend framework 2?

查看:150
本文介绍了如何返回对象的Zend框架2的阵列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做的ZF2查询和我拿回对象(Zend的\\ DB \\的ResultSet \\ HydratingResultSet),我有一个的foreach 上,以获得的属性

I am doing a query in zf2 and i get back a object(Zend\Db\ResultSet\HydratingResultSet) that i have to a foreach on, in order to get to the properties.

我想在默认情况下获得对象的数组。

I would like to get an array of objects by default.

这里是一些code我有:

here is some code i have:

工厂

'address-mapper'  => function ($serviceManager) {
    $mapper = new Mapper\Address();
    $mapper->setDbAdapter($serviceManager->get('Zend\Db\Adapter\Adapter'));
    $mapper->setEntityPrototype(new Entity\Address);
    $mapper->setHydrator(new \Zend\Stdlib\Hydrator\ClassMethods);

    return $mapper;
}

查询

public function fetchById()
{
    $select = $this->getSelect()->where(array('id' => $Id));
    return $this->select($select);
}

这让我回:

object(Zend\Db\ResultSet\HydratingResultSet)[459]
      protected 'hydrator' => 
        object(Zend\Stdlib\Hydrator\ClassMethods)[415]
          protected 'underscoreSeparatedKeys' => boolean true
          private 'callableMethodFilter' => 
          ....
          ....

任何想法我需要做什么?

any ideas what i need to do?

推荐答案

Zend的\\ DB \\的ResultSet \\ HydratingResultSet 有一个的toArray 方法。所以,你可以做到这一点得到的结果,而不是一个结果集的多维数组:

The Zend\Db\ResultSet\HydratingResultSet has a toArray method. So you can do this to get a multi-dimension array of the results instead of a result set:

public function fetchById()
{
    $select = $this->getSelect()->where(array('id' => $Id));
    $arrayResults = $this->select($select)->toArray()
    return $arrayResults;
}

这篇关于如何返回对象的Zend框架2的阵列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆