2011-08-30 105 views

回答

4

只需覆盖Table类中的insert()update()方法。

例如:

<?php 
class ObjectNameTable extends Zend_Db_Table_Abstract { 
    protected $_name = 'table_name'; // table name 
    protected $_primary = 'id'; 

    public function insert(array $data) { 
     $data['added'] = date('Y-m-d H:i:s'); 
     return parent::insert($data); 
    } 

    public function update(array $data, $where) { 
     $data['updated'] = date('Y-m-d H:i:s'); 
     return parent::update($data, $where); 
    } 
} 

如果你想这样做,你的所有的表对象,那么你可以有一个基类,他们都继承如:

<?php 
class BaseTable extends Zend_Db_Table_Abstract { 
    public function insert(array $data) { 
     $data['added'] = date('Y-m-d H:i:s'); 
     return parent::insert($data); 
    } 

    public function update(array $data, $where) { 
     $data['updated'] = date('Y-m-d H:i:s'); 
     return parent::update($data, $where); 
    } 
} 

再一类使用它:

<?php 
class ObjectNameTable extends BaseTable { 
    protected $_name = 'table_name'; // table name 
    protected $_primary = 'id'; 
}