No está mal hacer eso, de hecho es lo más recomendable. Pero es aún más recomendable que no reinventes la rueda, un ORM te da todo eso, tomando en cuenta cosas que probablemente ni hayas pensado.
De los errores conceptuales, deberías ver si tu modelo devuelve un set de resultados no tiene por que ser método del prototipo, debería ser un método estático de la clase. Por lo menos como convención.
Saludos