thinkphp中分页paginate和group by一起使用时 代码异常的解决办法

news2025/2/12 5:12:21
1. paginate和group by报错,代码如下,月份分组
        $page = intval($where['page']);
        $limit = intval($where['limit']);
        $start_time = $where['start_time'];
        $end_time = $where['end_time'];

        $query = Db::table('eb_bonuslistlog')
            ->field('DATE_FORMAT(create_time,"%Y-%m") as date,SUM(money) as total_money,COUNT(*) as total_number')
            ->group('date')
            ->order('date desc');

        if ($start_time && $end_time) {
            $query->whereTime('create_time', 'between', [date('Y-m-01 00:00:00', strtotime($start_time)), date('Y-m-t 23:59:59', strtotime($end_time))]);
        }

  $list = $query->paginate(15);
        return $list;

2. 第一种写法,group by分组后使用page分页, 月份分组
        $page = intval($where['page']);
        $limit = intval($where['limit']);
        $start_time = $where['start_time'];
        $end_time = $where['end_time'];

        $query = Db::table('eb_bonuslistlog')
            ->field('DATE_FORMAT(create_time,"%Y-%m") as date,SUM(money) as total_money,COUNT(*) as total_number')
            ->group('date')
            ->order('date desc');

        if ($start_time && $end_time) {
            $query->whereTime('create_time', 'between', [date('Y-m-01 00:00:00', strtotime($start_time)), date('Y-m-t 23:59:59', strtotime($end_time))]);
        }

        $list = $query->page($page, $limit)
            ->select()
            ->toArray();

        return $list;
 3..第二种写法,group by分组后使用paginate分页,月份分组
        $page = intval($where['page']);
        $limit = intval($where['limit']);
        $start_time = $where['start_time'];
        $end_time = $where['end_time'];

        $query = Db::table('eb_bonuslistlog')
            ->field('DATE_FORMAT(create_time,"%Y-%m") as date,SUM(money) as total_money,COUNT(*) as total_number')
            ->group('date')
            ->order('date desc');

        if ($start_time && $end_time) {
            $query->whereTime('create_time', 'between', [date('Y-m-01 00:00:00', strtotime($start_time)), date('Y-m-t 23:59:59', strtotime($end_time))]);
        }

        $buildSql = $query->buildSql();

        $list = Db::table($buildSql)->alias('bs')->paginate(15);

        return $list->toArray();
4. group by分组后使用paginate分页,按天分组
  public function getZsyjDayReportStat(array $where)
    {
        $page = intval($where['page']);
        $limit = intval($where['limit']);
        $start_time = $where['start_time'];
        $end_time = $where['end_time'];

        // thinkphp中分页paginate和group by一起使用时代码异常,换下面写法
        $query = Db::table('eb_bonuslistlog')
            ->field('DATE_FORMAT(create_time,"%Y-%m-%d") as date,SUM(money) as total_money,COUNT(*) as total_number')
            ->group('date')
            ->order('date desc');

        if ($start_time && $end_time) {
            $query->whereTime('create_time', 'between', [$start_time . ' 00:00:00', $end_time . ' 23:59:59']);
        }

        $buildSql = $query->buildSql();

        $list = Db::table($buildSql)->alias('bs')->paginate(15);

        return $list->toArray();
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cookie的详解

Cookie Cookie为什么要用Cookie?Cookie是什么?Cookie怎么用?Cookie常用属性修改与删除:在浏览器查看cookie前端页面读取CookieJava后端读写cookie最典型的cookie--JESSIONID是什么?什么时候种下JSESSIONID?…

2023年京东按摩仪行业数据分析(京东销售数据分析)

近年来,小家电行业凭借功能与颜值,取代黑电和白电,成为家电市场的主要增长点。在这一市场背景下,颜值更高、功能更丰富、品种更齐全的各类按摩仪,借助新消费和电子商务的风潮,陆续被推上市场。今年&#xf…

通达信波段选股公式,使用钱德动量摆动指标(CMO)

钱德动量摆动指标(CMO)是由图莎尔钱德发明的,取值范围在-100到100之间,是捕捉价格动量的技术指标。该指标计算近期涨幅之和与近期跌幅之和的差值,然后将计算结果除以同期所有价格波动的总和。本文的波段选股公式使用均线识别趋势,…

微信小程序上传图片和文件

1.从微信里选择图片或文件上传 使用的vant的上传组件 原生用 wx.chooseMessageFile() html <!-- 从微信上面选择文件 --><van-uploader file-list"{{ file }}" bind:after-read"afterRead" max-count"{{3}}" deletable"{{ true…

GrapeCity Documents for PDF (GcPdf) 6.2 Crack

GrapeCity PDF 文档 (GcPdf) 改进了对由 GcPdf 以外的软件生成的现有 PDF 文档的处理 在新的 v6.2 版本中&#xff0c;GcPdf 增强了 PDF 文档的加载和保存&#xff0c;并提供以下优势&#xff1a; GcPdf 现在可以加载和保存可能不严格符合 PDF 规范的 PDF 文档。GcPdf 现在将…

典籍研读+书法精进 暄桐「见道明心的笔墨」课程开课啦

8月12日&#xff0c;《林曦老师的线上直播书法课》之「见道明心的笔墨」就要开课啦。林曦老师将带我们去往中国文人精神世界的后花园&#xff0c;一起阅读《金刚经》《老子》等典籍。是不是很期待&#xff1f; 在2011年&#xff0c;暄桐成立的最初&#xff0c;课程便是面向零基…

Opencv项目实战:24 手势识别的石头剪刀布

目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示与部分讲解 pyzjr库 游戏实现思路 4、项目资源 5、项目总结 0、项目介绍 简单的自娱自乐的计算机视觉互动游戏&#xff0c;石头剪刀布&#xff0c;使用random生成随机数&#xff0c;用于模拟AI窗口随机出拳&…

SecureCRT密码破解(实验环境:win10,SecureCRT Version 9.1.0 (x64 build 2579))

实验环境&#xff1a;win10&#xff0c; SecureCRT&#xff1a;Version 9.1.0 (x64 build 2579) 1. SecureCRTCipher.py 文件 #!/usr/bin/env python3 import os from Crypto.Hash import SHA256 from Crypto.Cipher import AES, Blowfishclass SecureCRTCrypto:def __init_…

如何选择适合自己的文件传输工具

随着互联网的发展&#xff0c;人们处理文件的需求也随之增加。不管是工作还是生活中&#xff0c;文件传输都是一个非常常见的问题。因此&#xff0c;如何选择适合自己的文件传输工具也越来越重要。在本文中&#xff0c;我将从以下几个方面进行分析和总结&#xff0c;希望能为大…

springboot文件上传和下载接口的简单思路

springboot文件上传和下载的简单思路 文件上传文件下载 文件上传 在springboot中&#xff0c;上传文件只需要在接口中通过 MultipartFile 对象来获取前端传递的数据&#xff0c;然后将数据存储&#xff0c;并且返回一个对外访问路径即可。一般对于上传文件的文件名&#xff0c…

【立创EDA】【0】基本概念

原理图库设计 符号设计 当在元件库中没有找到需要的元件原理图符号时&#xff0c;需要自己手动绘制点击文件-新建-符号进行新建符号 封装库设计 原理图符号对应焊盘 绘制封装时&#xff0c;可以在立创商城寻找元器件对应的数据手册进行参考 PCB绘制 晶振需要包地&#xf…

【STM32RT-Thread零基础入门】 1. 搭建开发环境

文章目录 一、RT-Thread Studio 集成开发环境安装1. 下载2. 安装3. 下载SDK 二、STM32CubeMX 图形化配置工具安装1. 获取安装包2. 安装3. 安装固件库 总结 一、RT-Thread Studio 集成开发环境安装 1. 下载 可以从RT-Thread 官网上获取 RT-Thread studio 最新的安装包&#xf…

解决:django设置DEBUG=false时出现的问题

首先&#xff0c;我用的是django4.2&#xff0c;python3.10版本 本来&#xff0c;如果在settings.py中使用 DEBUG True&#xff0c;那么什么问题也没有&#xff0c;当然&#xff0c;这属于调试模式。 DEBUG True TEMPLATE_DEBUG DEBUGSTATIC_URL /static/ STATICFILES_DI…

计算机视觉的应用10-图片中的表格结构识别与提取实战

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用10-图片中的表格结构识别与提取实战&#xff0c;表格结构识别在信息处理领域中具有广泛应用&#xff0c;但由于表格的多样性和复杂性&#xff0c;以及难以准确解析的布局和格式&#xff0c;传统的方…

如何消除谐波对医疗设备的影响? 安科瑞 顾语欢

1.概述 谐波的危害十分严重&#xff0c;尤其在医院这种医疗设备和化验设备较多的场合。大部分大型医疗设备都是谐波源&#xff0c;比如X光机、CT机等都会产生大量谐波&#xff0c;谐波使电能的生产、传输和利用的效率降低&#xff0c;使电气设备过热、产生振动和噪声&#xff…

opencv进阶01-直方图的应用及示例cv2.calcHist()

直方图是什么&#xff1f; 直方图是一种图形表示方法&#xff0c;用于显示数据中各个数值或数值范围的分布情况。它将数据划分为一系列的区间&#xff08;也称为“箱子”或“bin”&#xff09;&#xff0c;然后统计每个区间中数据出现的频次&#xff08;或频率&#xff09;。直…

supervisor常见错误场景

项目场景&#xff1a; python虚拟环境venv启动supervisor服务 一、类型一 unix:///var/run/supervisor.sock no such file error: <class ‘FileNotFoundError’>, [Errno 2] No such file or directory: file: /home/zhaon/miniconda3/envs/abio_filesvr/lib/python3.…

Stable Diffusion Webui源码剖析

1、关键python依赖 &#xff08;1&#xff09;xformers&#xff1a;优化加速方案。它可以对模型进行适当的优化来加速图片生成并降低显存占用。缺点是输出图像不稳定&#xff0c;有可能比不开Xformers略差。 &#xff08;2&#xff09;GFPGAN&#xff1a;它是腾讯开源的人脸修…

出于网络安全考虑,印度启用本土操作系统”玛雅“取代Windows

据《印度教徒报》报道&#xff0c;印度将放弃微软系统&#xff0c;选择新的操作系统和端点检测与保护系统。 备受期待的 "玛雅操作系统 "将很快用于印度国防部的数字领域&#xff0c;而新的端点检测和保护系统 "Chakravyuh "也将一起面世。 不过&#xf…

Sharding-JDBC概述

前言 ​ 随着业务数据量的增加&#xff0c;原来所有的数据都是在一个数据库上的&#xff0c;网络IO及文件IO都集中在一个数据库上的&#xff0c;因此CPU、内存、文件IO、网络IO都可能会成为系统瓶颈。当业务系统的数据容量接近或超过单台服务器的容量、QPS/TPS接近或超过单个数…