Retornar un array en un fetchRow, con Zend_Db

Retornar un array en un fetchRow, con Zend_Db

Cuando hacemos una consulta a la base de datos con Zend_Db, nos devuelve un objeto, con mucha info que pocas veces usamos. Generalmente nosotros queremos que nuestro metodo devuelva un array o un objeto, con las columnas de la consultas, y no mas que eso.

Si queremos que solo devuelva los resultados, en un array, tenemos una propiedad que nos soluciona esto.

El objeto que devulve fetchRow, y fetchAll, tiene una propiedad llamada toArray, que te devuelve solo las columnas del objeto en un array.

De esta manera, si nosotros quisieramos por ejemplo en nuestro modelo, el resultado de un fetchRow guardarlo en un Json, podriamos hacer lo siguiente.

  1.  
  2. <?php
  3. class Usuarios extends Zend_Db_Table
  4. {
  5.     protected $_name = ‘usuarios’
  6.     public function getRow($id)
  7.     {
  8.         $select = $this->select()
  9.             ->where(‘usuario_id = ?’, $id);
  10.         return $this->fetchRow($select)
  11.             ->toArray();
  12.     }
  13. }
  14. ?>
  15.  

Los que nos devuelve este ejemplo es un array con todas las columnas de nuestra tabla usuarios, donde el id del registro es igual al que le pasamos como parametro.