我认为我可以在Zend结果集上使用toArray()
,但我发现使用toArray()
失败并显示以下消息:
作为此DataSource的一部分的行,类型对象无法转换为数组
我认为可行的是
return new JsonModel($collections->toArray());
但是上述错误消息失败了。
这是Collection,一个小类
class Collection
{
public $collectionID;
public $name;
public function exchangeArray($data)
{
$this->collectionID = (!empty($data['collectionID'])) ? $data['collectionID'] : null;
$this->name = (!empty($data['name'])) ? $data['name'] : null;
}
// Add the following method:
public function getArrayCopy()
{
return get_object_vars($this);
}
}
如果我添加自己的
public function toArray()
{
return array(get_object_vars($this));
}
我可以强迫它去做我期望的事情,但我不确定这是最好的方法。此外,如果我将其与JsonModel
结合使用,输出的JSON也将包含来自settings.global.php的变量
提前致谢,
答案 0 :(得分:0)
您应该可以使用$result->getArrayCopy()
如果它不起作用你可以尝试添加到收集这个功能
public function getArrayCopy()
{
return get_object_vars($this);
}
答案 1 :(得分:0)
你必须遍历记录,因为它不会一次性获取所有记录。如下所示:
Order ID
或者尝试:
Orderline ID