TP5 事务操作

Posted cbywan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP5 事务操作相关的知识,希望对你有一定的参考价值。

 // 启动事务
            Db::startTrans();
            try {
                $save = [
                    ‘wx‘=>$data[‘wx‘],
                    ‘nickname‘=>$data[‘nickname‘],
                    ‘sex‘=>$data[‘sex‘],
                    ‘birth_date‘=>$data[‘birth_date‘],
                    ‘email‘=>$data[‘email‘],
                    ‘address‘=>$data[‘address‘]
                ];
                $ok = Db::name(‘User‘)->where([‘id‘=>$user_id])->update($save);
                if($ok!==false){
                    //自定义字段保存
                    $field_save = model(‘api/v1/User‘)->field_list_save($data,$user_id);
                    if($field_save[‘code‘]!=200){
                        throw new Exception($field_save[‘msg‘]);
                    }
                    //获取职位所属分类id
                    $category = explode(‘/‘,$job[‘category‘]);
                    $tid = $category?end($category):‘‘;
                    $message_data = [
                        ‘tid‘=>$tid,
                        ‘pid‘=>$data[‘id‘],
                        ‘add_user_id‘=>$user_id
                    ];
                    $insert = Db::name(‘JobMessage‘)->insert($message_data);
                    if($insert){
                        $json = [‘code‘=>200,‘msg‘=>‘申请成功,请等待后台审核‘];
                    }else{
                        throw new Exception(‘申请失败,请联系管理员‘);
                    }
                }
                // 提交事务
                Db::commit();
            } catch (Exception $e) {
                // 回滚事务
                Db::rollback();
                $json = [‘code‘=>-200,‘msg‘=>$e->getMessage()];
            }
            return $json;
 

  

以上是关于TP5 事务操作的主要内容,如果未能解决你的问题,请参考以下文章

Swoole 结合TP5搭建文字直播平台

片段事务中的实例化错误

BottomNavigationView 滞后于片段事务

微信小程序实现微信登陆(TP5后端)

tp5数据库——链式操作

理解片段事务期间片段的生命周期方法调用