Quien mete datos en $sub para que luego los cojas con $sub->result() ?
Otra cosa, revisa el parametro $id de esta funcion get_categoria_front() porque no tiene sentido que por defecto valga string vacio ('') ... en todo caso NULL
Cita: public function get_categoria_front($id='') {..}