Using separate model methods to manage transactions
- by DCrystal
If i’ve got 2(or more) model methods which do (for example, in billing system) enrolling/withdrawing, and one controller’s method that calls 2(or more) of these model methods.
Is it a good way(maybe, any suggestions how to do it better) to write/use 2model methods like these:
public function start_transaction(){
$this->db->trans_start();
}
public function end_transaction(){
$this->db->trans_complete();
}
And call in controller’s method:
public function smth(){
//something
$this->model->start_transaction();
$this->model->enroll();
//something else
$this->model->withdraw();
$this->model->end_transaction();
}
Will transaction be reversed, if model's withdraw() method fails?
Thanks.