2
我正在尋找一種將在Zend_DB中的insert()或update()之前/之後調用的方法?我不想依賴於數據庫觸發器......你能幫我嗎?謝謝 !!!zend框架:如何在插入/更新之前/之後創建觸發器
我正在尋找一種將在Zend_DB中的insert()或update()之前/之後調用的方法?我不想依賴於數據庫觸發器......你能幫我嗎?謝謝 !!!zend框架:如何在插入/更新之前/之後創建觸發器
只需覆蓋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';
}