/** * Constructor * * @param Zend_Db_Statement $stmt * @return void * @access public * @since 4/4/08 */ public function __construct(Zend_Db_Statement $stmt, $adapter) { $this->stmt = $stmt; $this->adapter = $adapter; // It seems that PDO only supports buffered queries on MySQL and it is // not recommended to use them even there. buffering therefore must be done // here rather than in the adapter layer. $this->stmt->setFetchMode(Zend_Db::FETCH_ASSOC); $this->rows = $this->stmt->fetchAll(); $this->stmt->closeCursor(); }
/** * Returns an array containing all of the result set rows. * * @param int $style OPTIONAL Fetch mode. * @param int $col OPTIONAL Column number, if fetch mode is by column. * @return array Collection of rows, each in a format by the fetch mode. * * Behaves like parent, but if limit() * is used, the final result removes the extra column * 'zend_db_rownum' */ public function fetchAll($style = null, $col = null) { $data = parent::fetchAll($style, $col); $results = array(); $remove = $this->_adapter->foldCase('ZEND_DB_ROWNUM'); foreach ($data as $row) { if (is_array($row) && array_key_exists($remove, $row)) { unset($row[$remove]); } $results[] = $row; } return $results; }