[英]How to properly display a calculated value of a non-db field in the ListView?
[英]Codeigniter transactions with other non-db functions?
是否可以有这样的代码?
// send email with email+password and create user (in one transaction)
$this->db->trans_start();
$this->User_model->add_user($user_object);
MY_Controller::send_mail($to, $subject, $mail_data);
$this->db->trans_complete();
它是代码点火器。 我使用活动记录类。 静态函数send_mail如果失败则返回FALSE,如果受影响的行== 0,则add_user返回FALSE ...
我想在事务中使用该非数据库功能(send_mail),如果失败,请回滚。
我知道这里有$this->db->trans_status()
,我可以$this->db->trans_status()
运行事务,但是我认为这是一个更好的代码块。 这样甚至可以在事务中具有非数据库功能吗?
不,您只能在send_mail()
失败的情况下进行手动回滚:
if ( ! MY_Controller::send_mail($to, $subject, $mail_data))
{
$this->db->trans_rollback();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.