php事务删除加调用日志函数

简介: php事务删除加调用日志函数
public function index( $id, $type, $data )
 {
        $name = '';
        $list = '';
        if ( $type == 1 ) {
            $name = 'store';
        } else if ( $type == 2 ) {
            $name = 'rider';
        } else if ( $type == 3 ) {
            $name = 'deposit';
        } else if ( $type == 4 ) {
            $name = 'refund';
        }
        $list = db( $name )->where( [ 'id'=>$id, 'type'=>1 ] )->count();
        Db::startTrans();
        $ultimately = true;
        try {
            if ( $list != 0 ) {
                $result = new Api();
                $list[ 'userinfo_id' ] = getallheaders()[ 'Id' ];
                $list[ 'addtime' ] = date( 'Y-m-d H:i:s' );
                $list[ 'path' ] = $result->pathse;
                $content = db( $name )->where( [ 'id'=>$id, 'type'=>1 ] )->find();
                $contentsMap = array_combine( array_keys( $data ), array_values( $data ) );

            // 遍历content数组,只保留在contentsMap中存在的键值对
            foreach ( $content as $key => $value ) {
                if ( isset( $contentsMap[ $key ] ) ) {
                    // 如果键存在于contentsMap中,保留该键值对
                    continue;
                }
                // 如果键不存在于contentsMap中,从content数组中移除该键值对
                unset( $content[ $key ] );
            }
            // 提取 $contents 的键作为排序参考  
            $sortedKeys = array_keys($content);
  
            // 使用 uksort 对 $content 进行排序  
            uksort($data, function($a, $b) use ($sortedKeys) {  
                return array_search($a, $sortedKeys) - array_search($b, $sortedKeys);  
            });
                $list[ 'content' ] = json_encode( $content );
                $list[ 'contents' ] = json_encode( $data );
                $list[ 'type' ] = 2;
                $list = db( $name )->where( [ 'id'=>$id, 'type'=>1 ] )->update( $data );
                if ( $list ) {
                    $resultss = $result->daiord( $list );
                    if ( !$resultss ) {
                        DB::rollBack();
                        //错误 回滚事务
                        throw new \Exception( '' );
                    }
                    Db::commit();
                } else {
                    DB::rollBack();
                    //错误 回滚事务
                    throw new \Exception( '' );
                }
            } else {
                DB::rollBack();
                //错误 回滚事务
                throw new \Exception( '' );
            }
        } catch ( \Exception $e ) {
            Db::rollback();
            $ultimately = false;
        }
        if ( $ultimately )return true;
        if ( !$ultimately )return false;
    }
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
|
PHP Perl
PHP-ereg()函数
但再次强调,不建议使用ereg()函数,而应该改用preg_match()函数来执行更灵活和强大的正则表达式匹配操作。
20 4
|
6天前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
62 0
|
6天前
|
存储 PHP 数据库
【PHP开发专栏】PHP数组操作与常见函数
【4月更文挑战第29天】本文介绍了PHP中的数组及其操作,包括定义与初始化、访问与修改、遍历。还探讨了常用的数组函数,如count()、in_array()、array_push/pop()、array_shift/unshift()、array_merge()、array_keys/values()以及sort()和rsort(),帮助开发者更有效地处理和操作数组。
|
6天前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
54 4
|
6天前
|
弹性计算 前端开发 Serverless
Serverless 应用引擎操作报错合集之在阿里云函数计算中,调用了FC函数但是没有执行或者报错,并且在FC函数后台也看不到调用记录日志如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
36 5
|
6天前
|
JSON PHP 数据格式
php函数
php函数
8 0
|
6天前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
14 0
|
6天前
|
PHP
从PHP开始学渗透 -- 函数
从PHP开始学渗透 -- 函数
10 0
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
|
6天前
|
PHP 数据安全/隐私保护

热门文章

最新文章