/** * get result * * @param string $type * @param string $resource * @param string $context * @return array */ public function result($type, $resource, $context) { if (!is_object($resource)) { return null; } $result = null; switch ($type) { case 'next': if (!isset($resource->rows)) { $result = (array) $resource; } elseif (isset($resource->rows[$this->_iterator])) { $result = (array) $resource->rows[$this->_iterator]->value; $result['id'] = $resource->rows[$this->_iterator]->id; if (isset($resource->rows[$this->_iterator]->key)) { $result['key'] = $resource->rows[$this->_iterator]->key; } $this->_iterator++; } else { $this->_iterator = 0; } if (isset($result['_id'])) { $result['id'] = $result['_id']; unset($result['_id']); if (isset($result['_rev'])) { $result['rev'] = $result['_rev']; unset($result['_rev']); } } break; case 'close': unset($resource); $result = null; break; default: $result = parent::result($type, $resource, $context); break; } return $result; }