hyperf统计各个状态值的总数

4 篇文章 1 订阅
2 篇文章 0 订阅

根据传入的字段,和字段值,统计出数量

调用:

/**
         * 异常类型 different_type
         * '异常类型 1:正常 2:获取售后单失败,3:获取售后单失败,4:同步平台失败,5:未绑定平台退货地址,6:其他',
         */
        $different_type_value = [
            1,
            2,
            3,
            4,
            5,
            6,
        ];
                $different_type = CustomerRefundOrderDao::getTypeCount('different_type', $different_type_value, 0, 0, $shop_id);

方法:

    public static function getTypeCount(string $field, array $value, int $apply_time_start, int $apply_time_end, array $shop_id): array
    {
        if (empty($value)) {
            return [];
        }
        $countSql = "";
        foreach ($value as $v) {
            $countSql .= "count($field=$v or null) as $field" . "_$v,";
        }
        /**
         * 打印出来的sql:select count(refund_type=1 or null) as refund_type_1,count(refund_type=2 or null) as refund_type_2,count(refund_type=3 or null) as refund_type_3,count(refund_type=4 or null) as refund_type_4 from `customer_refund_order`
         */
        $countSql = rtrim($countSql, ',');
        $query = CustomerRefundOrderModel::query();
        $query->select(DB::raw($countSql))
            ->whereIn('shop_id', $shop_id)
            ->when($apply_time_start, function ($query, $apply_time_start) {
                return $query->where('apply_time', '>=', $apply_time_start);
            })
            ->when($apply_time_end, function ($query, $apply_time_end) {
                return $query->where('apply_time', '<=', $apply_time_end);
            });
        $res = $query->first();
        return $res ? $res->toArray() : [];
    }

返回(json):

"different_type": {
            "different_type_1": 0,
            "different_type_2": 20,
            "different_type_3": 0,
            "different_type_4": 1,
            "different_type_5": 0,
            "different_type_6": 0
        },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Hyperf 是一个基于 PHP 的高性能微服务框架,它是由 Hyperf 开发团队基于 Swoole 扩展开发的。Hyperf 框架具有轻量级、高性能、灵活可扩展等特点,适用于构建各种类型的微服务应用。 以下是 Hyperf 微服务框架的一些特点和功能: 1. 高性能:Hyperf 基于 Swoole 扩展,充分利用了 Swoole 的协程特性和异步非阻塞的 IO 模型,提供了卓越的性能表现。 2. 轻量级:Hyperf 框架本身非常轻量级,核心代码量少,运行时内存占用低,可以快速启动和运行。 3. 灵活可扩展:Hyperf 提供了丰富的组件和扩展机制,可以根据项目需求进行灵活的定制和扩展。 4. 支持多种协议:Hyperf 支持 HTTP、WebSocket、TCP、UDP 等多种协议,可以满足不同类型的微服务应用需求。 5. 强大的依赖注入容器:Hyperf 内置了一个强大的依赖注入容器,可以方便地管理和注入各种组件和服务。 6. 高度可测试性:Hyperf 提供了丰富的测试工具和测试支持,可以方便地进行单元测试和集成测试。 7. 支持分布式部署:Hyperf 支持分布式部署,可以通过配置中心、服务注册与发现等机制实现微服务的高可用和负载均衡。 8. 提供丰富的组件:Hyperf 提供了许多常用的组件,如数据库 ORM、缓存、消息队列、验证器等,可以快速开发各种类型的微服务应用。 总之,Hyperf 是一个功能强大、性能优越的 PHP 微服务框架,适用于构建高性能、可扩展的微服务应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP开光程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值