El problema se parte en 2, si devuelves un array con los resultados, significa que vas a hacer 2 bucles, uno en tu clase, y otro probablemente en donde lees los resultados y los imprimes en tu pagina web. Pero si regresas el resource, pierdes entonces lo que estabas haciendo en POO.
En lo personal te recomendaría tratar de migrar a una capa más POO friendly, como lo es PDO, así puedes tratar con el resource y de forma POO.
Si no te es posible migrar a PDO por ejemplo, entonces trata de encapsular el resultado, lo que yo hacia antes era tener una clase result que leia los datos, por ejemplo:
Código php:
Ver originalpublic function query( $query ) {
if(!$result) {
}
return new DBResult( $result, $query );
} else {
return $result;
}
}
Luego la clase DBResult era mas o menos así:
Código php:
Ver originalclass DBResult {
private $_result;
private $_query;
public function __construct( $result, $query ) {
$this->_result = $result;
$this->_query = $query;
}
public function fetchRow() {
}
}
Así te evitas el doble loop y mantienes el encapsulamiento en tus clases, aunque realmente te recomendaría mudarte a PDO, o minimo a mysqli.
Saludos.