Php Zend Framework 2中的ResultSet不能与toArray()一起使用
我原以为我可以在Zend resultset上使用Php Zend Framework 2中的ResultSet不能与toArray()一起使用,php,arrays,zend-framework2,Php,Arrays,Zend Framework2,我原以为我可以在Zend resultset上使用toArray(),但我发现使用toArray()失败,并显示以下消息: 不能将作为此数据源一部分且类型为object的行强制转换为数组 我认为会起作用的是 返回新的JsonModel($collections->toArray()) 但由于出现上述错误消息,该操作失败 这是收藏,一个小班 类集合 { 公共$collectionID; 公共名称; 公共函数exchangeArray($data) { $this->collectionID=(!e
toArray()
,但我发现使用toArray()
失败,并显示以下消息:
不能将作为此数据源一部分且类型为object的行强制转换为数组
我认为会起作用的是
返回新的JsonModel($collections->toArray())代码>
但由于出现上述错误消息,该操作失败
这是收藏,一个小班
类集合
{
公共$collectionID;
公共名称;
公共函数exchangeArray($data)
{
$this->collectionID=(!empty($data['collectionID'])?$data['collectionID']:null;
$this->name=(!empty($data['name'])?$data['name']:null;
}
//添加以下方法:
公共函数getArrayCopy()
{
返回get\u object\u vars($this);
}
}
如果我加上我自己的
public function toArray()
{
return array(get_object_vars($this));
}
我可以强迫它做我期望的事情,但我不确定这是最好的方法。另外,如果我将其与JsonModel
结合使用,输出的JSON还将包含settings.global.php中的变量
提前感谢,您应该能够使用,$result->getArrayCopy()
如果不起作用,您可以尝试将此函数添加到集合中
public function getArrayCopy()
{
return get_object_vars($this);
}
你必须循环浏览这些记录,因为它不会一次把所有的记录都取出来。比如:
$m = array();
foreach($resultSet as $r)
$m[] = (array)$r;
或者试试:
$resultSet = (array)resultSet;
不幸的是,这为我生成了相同的错误消息。