5

Can i override fetchall method in a model? I need to check sth everytime fetchAll is called. The model extends Zend_db_table_abstract

Jeremy Privett
  • 4,455
  • 2
  • 32
  • 35
Mote
  • 11,197
  • 1
  • 18
  • 10

2 Answers2

9

To override this method you would need to subclass the Zend_Db_Table_Abstract. Like so:

<?php
abstract class My_Db_Table_Abstract extends Zend_Db_Table_Abstract
{
    ...

    public function fetchAll($where, $order)
    {
        ...
    }

    ...
}

Then make sure your models extend My_Db_Table_Abstract instead. This way, you will always inherit your overridden fetchAll method.

Kieran Hall
  • 2,637
  • 2
  • 24
  • 27
0

Yes. Just define a new fetchAll() method in your model with the same construction as the Zend_db_table_abstract method (ie same input / output) then at the end of your method call the parent method:

parent::fetchAll($params)

Andrew

Andrew Taylor
  • 1,850
  • 18
  • 19