首页 > 编程语言 >php 数据遍历查询

php 数据遍历查询

时间:2022-10-31 13:44:30浏览次数:48  
标签:status 遍历 where 查询 job php data id row

  //查询出所有需要待更新的数据,分页处理
        $query = OrderExportJob::query();
        $page = 1;
        $limit = 1000;
        $count = $data = $query->from('order_export_job')
            ->where('job_status', 0)
            ->where('batch_id', $batchId)
            ->where('job_name','<>','OrderSkuPerformanceQueue')
            ->count();
        $totalPages = ceil($count / $limit);
        do {
            $offset = ($page - 1) * $limit;
            $data = $query->from('order_export_job')
                ->where('job_status', 0)
                ->where('batch_id', $batchId)
                ->where('job_name','<>','OrderSkuPerformanceQueue')
                ->offset($offset)
                ->limit($limit)
                ->get();
            if (!empty($data)) {
                $data = $data->toArray();
                if (!empty($data) && is_array($data)) {
                    foreach ($data as $row) {
                        try {
                            $this->exportTask($row);
                            OrderExportJob::where('id', $row['id'])->update([
                                'job_status' => 2, "updated_at" => date('Y-m-d H:i:s'), 'error_msg' => ''
                            ]);
                        } catch (\Exception $e) {
                            @file_put_contents("/tmp/3.txt","\n".$e->getTraceAsString()."\n",FILE_APPEND);
                            OrderExportJob::where('id', $row['id'])->update([
                                'job_status' => 3, "updated_at" => date('Y-m-d H:i:s'), 'error_msg' => $e->getMessage()
                            ]);
                            OrderDataProcess::where('id', $row['process_id'])->update(['data_status'=>2]);
                            continue;
                        }
                    }
                }
            }
            $page++;
        } while ($page <= $totalPages);

 

标签:status,遍历,where,查询,job,php,data,id,row
From: https://www.cnblogs.com/kevin-yang123/p/16843976.html

相关文章

  • SQL查询(提高版--1)
    表名和字段准备工作:表设计:   –1.学生表    Student(s_id,s_name,s_birth,s_sex)–学生编号,学生姓名,出生年月,学生性别    –2.课程表    Cour......
  • php反序列化绕过__wakeup(O改为C)
    先说下适用条件:PHP版本:7.0.15-7.0.33,7.1.1-7.1.33,7.2.0-7.2.34,7.3.0-7.3.28,7.4.0-7.4.16,8.0.0-8.0.3。变量的初始化不在__construct里,而是在外面......
  • mysql查询转换
     查询时会将字符串转数字.如果转换数字不成功,则看做0两边都是字符串的话,则按照ANSI的比较规则进行比较,不区分大小写(具体看mysql配置)  ......
  • EAS查询分析器插入id,fid
    可以使用SELECTnewBosID('BosType')FROMdual来生成,其中BosType查找方式可以通过查询分析器的fid转BosType来找到  最终如下:SELECTnewBosID('584432FF')FROMdu......
  • 分页查询数据库语句汇总
    分页查询在后端开发中经常遇到,根据前台传到后端的数据,使用数据库语句找出对应记录数是一重点分页查询:1.前端传给后台的数据1.页码:用户点击页码换页2.页容量:每页显......
  • PHP反序列化字符逃逸学习
    文章目录​​过滤后字符变多​​​​过滤后字符变少​​过滤后字符变多首先给出本地的php代码,很简单不做过多的解释,就是把反序列化后的一个x替换成为两个<?phpfunctionchan......
  • 【学习笔记】《范围修改查询问题》
    参考自APIO2022清华大学李欣隆的课件《范围修改查询问题》。其实感觉目前实用性不强(问题描述给定集合\(I\),令\(n=|I|\)。给定交换半群\((D,+)\),半群\((M,*)\)。......
  • PHP session 阻塞问题
    由于PHP实现session的机制默认是利用把信息储存在文件里的,这就是涉及到读取文件需要保证一定安全性所以需要在读写的时候锁文件,如果不及时解锁,如程序的业务过程较长就......
  • nginx容器与php-fpm容器连接方式
    文档说明:只记录关键地方;获得nginx和php基础镜像的内默认配置文件从容器镜像中拷贝文件到容器外#!/bin/bashset-eux__DIR__=$(cd"$(dirname"$0")"pwd)c......
  • 构建PHP容器
    文档说明:只记录关键地方;构建脚本php-cli-alpine#!/bin/shset-uxTIME=`date-u'+%Y%m%dT%H%M%SZ'`VERSION="7.4-cli-alpine-"${TIME}IMAGE="wenba100xie/php:${......