Can i override fetchall method in a model? I need to check sth everytime fetchAll is called. The model extends Zend_db_table_abstract
Asked
Active
Viewed 3,724 times
2 Answers
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
-
Since you're naming it `Abstract`, you probably want it to be an `abstract class`. – chelmertz Nov 20 '09 at 01:52
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