Php Zend框架模型中是否有beforeSave或afterSave方法?
Zend框架模型中是否有beforeSave或afterSave方法Php Zend框架模型中是否有beforeSave或afterSave方法?,php,zend-framework,Php,Zend Framework,Zend框架模型中是否有beforeSave或afterSave方法 class VendorReject extends Zend_Db_Table { protected $_name = 'VendorRejects'; } 您可以重写Zend\u Db\u Table\u Row\u Abstract的\u insert()和\u postInsert()方法 因此,创建行类,例如: class Row_VendorReject extends Zend_Db_Table_Ro
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
}
您可以重写Zend\u Db\u Table\u Row\u Abstract的
\u insert()
和\u postInsert()
方法
因此,创建行类,例如:
class Row_VendorReject extends Zend_Db_Table_Row
{
protected function _insert()
{
$rejectionDate = $this->rejection_date;
// do something here
parent::_insert();
}
protected function _postInsert()
{
parent::_postInsert();
// some postprocessing
}
}
然后用新类名填充模型中的\u rowClass
字段:
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
protected $_rowClass = 'Row_VendorReject';
}
现在,每次对行调用save()
,这些方法也将被调用(在插入/更新之前和之后)
如果您需要这种更新功能,还有
\u update()
和\u positionpdate()
方法。您可以覆盖Zend\u Db\u Table\u Row\u Abstract的\u insert()
和\u postInsert()
方法
因此,创建行类,例如:
class Row_VendorReject extends Zend_Db_Table_Row
{
protected function _insert()
{
$rejectionDate = $this->rejection_date;
// do something here
parent::_insert();
}
protected function _postInsert()
{
parent::_postInsert();
// some postprocessing
}
}
然后用新类名填充模型中的\u rowClass
字段:
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
protected $_rowClass = 'Row_VendorReject';
}
现在,每次对行调用save()
,这些方法也将被调用(在插入/更新之前和之后)
如果您需要这种更新功能,还有
\u update()
和\u postate()
方法。另一种简单的方法是覆盖模型插入/更新方法
在保存示例代码之前:
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
// Add your code here that will execute before insert operation
return parent::insert($data);
}
}
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
parent::insert($data);
// Add your code here that will execute after insert operation
return;
}
}
保存示例代码后:
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
// Add your code here that will execute before insert operation
return parent::insert($data);
}
}
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
parent::insert($data);
// Add your code here that will execute after insert operation
return;
}
}
另一种简单的方法是重写模型插入/更新方法 在保存示例代码之前:
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
// Add your code here that will execute before insert operation
return parent::insert($data);
}
}
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
parent::insert($data);
// Add your code here that will execute after insert operation
return;
}
}
保存示例代码后:
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
// Add your code here that will execute before insert operation
return parent::insert($data);
}
}
class VendorReject extends Zend_Db_Table
{
protected $_name = 'VendorRejects';
// Override parent method
public function insert(array $data)
{
parent::insert($data);
// Add your code here that will execute after insert operation
return;
}
}