想要的效果是,项目里所有操作数据库的方法,都在成功执行时再执行某些自定义操作;
以前用过laravel等框架都有相应的解决方案,就如抛出事件等
想要的效果是,项目里所有操作数据库的方法,都在成功执行时再执行某些自定义操作;
以前用过laravel等框架都有相应的解决方案,就如抛出事件等
开启事务,只有操作都成功之后再commit提交事务,如果操作有失败的就rollback回滚。
$model->startTrans();
$row = $model->where(['id'=>1])->update(['status'=>4]);
if ($row>0) {
//上面操作成功
//执行自定义操作
$model->commit();
}else {
$model->rollback();
}
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答888 阅读✓ 已解决
1 回答569 阅读✓ 已解决
装饰器 可以不