thinkphp 命令行执行导入
<?php
declare (strict_types=1);
namespace app\command;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\facade\Db;
class Hello extends Command
{
protected function configure()
{
// 指令配置
$this->setName('hello')
->setDescription('测试');
}
protected function execute(Input $input, Output $output)
{
// 指令输出
$output->writeln('执行中');
$output->writeln(sprintf("已处理 %d 条数据", 10));
exit;
// 设置永不退出
set_time_limit(0);
$cursor = Db::connect('kuaidian')
->table('wx_member')
->where('mobile', '>', 0)
->field("id,mobile,nickname,status,addtime,last_time,balance")
->cursor();
$count = 0;
$maxInserNum = 0;
$insertAll = [];
foreach ($cursor as $v) {
$count++;
$userTab = userTab($v['mobile']);
$user = Db::name($userTab)
->where("mobile", $v['mobile'])
->field("uid")
->find();
if (!isset($user['uid'])) {
$maxInserNum++;
//执行插入
$userData = [];
$userData["uid"] = creatId($v['mobile'] . rand(1, 9999999));
$userData["name"] = $v['nickname'];
$userData["mobile"] = $v['mobile'];
$userData["reg_time"] = date("Y-m-d H:i:s", $v['addtime']);
$userData["last_time"] = date("Y-m-d H:i:s", $v['last_time']);
$userData["avatar"] = "dinggedan-avatar/avatar.png";
$userData["status"] = $v['status'];
$userData["sex"] = 1;
$userData["zxtime"] = "";
$userData["birthday"] = "";
$userData["balance_xiche"] = $v['balance'];
if (!key_exists($userTab, $insertAll)) {
$insertAll[$userTab] = [];
}
array_push($insertAll[$userTab], $userData);
} else {
//执行更新
Db::name($userTab)->where("uid", $user['uid'])->update(['balance_xiche' => $v['balance']]);
}
// 每次100数据插入一次
if ($maxInserNum >= 100) {
foreach ($insertAll as $tab => $datas) {
Db::name($tab)->insertAll($datas);
}
$insertAll = [];
$maxInserNum = 0;
}
$output->writeln(sprintf("已处理 %d 条数据", $count));
}
$output->writeln('执行完毕!');
}
}
thinkphp 命令行执行导入的更多相关文章
- django源码(2.0.2)粗解之命令行执行
前言 django的命令行在整个的django web开发中都会经常用到,而且是必须得用到.所以,能够了解下django的命令行实现其实是非常有帮助的. 如果大家比较关心django命令的详细说明和使 ...
- 关于thinkphp 命令行
很多人做多年开发只懂得PHP能在浏览器下运行或者只能结合APACHE等WEB服务器运行,却不晓得,PHP也能用命令行执行,或许是由于大多人在WINDOWS平台做开发部署运行,比较少接触LINUX. T ...
- thinkphp命令行生成模型类
thinkphp命令行生成模型类 当你需要创建大量的模型类的时候,不妨考虑下命令行生成,可以快速创建模型类. 在windows下面,使用Win+R输入cmd进入命令控制台,切换到项目根目录(也就是th ...
- Python命令行执行.py文件提示ModuleNotFoundError:No module named 'XXX'解决办法
原因:在命令行执行.py文件找不到包是因为我们没有把项目路径保存,可以通过sys.path.append()保存项目路径,执行后就能成功. ############################## ...
- Jmeter(6)命令行执行
Jmeter执行方式有2种:GUI和非GUI模式 GUI:在Windows电脑上运行,图形化界面,可直接查看测试结果,但是消耗压力机资源较高 非GUI:通过命令行执行,无图形化界面,不方便查看测试结果 ...
- linux命令行执行db2存储过程
存储过程代码如下: CREATE PROCEDURE proc_sum2(IN n INT,OUT sum INT,OUT j INT) BEGIN DECLARE i INT; ; ; ; WHIL ...
- mysql命令行执行外部文件
mysql命令行执行外部文件
- android程序中使用命令行及获得命令行执行后的内容
在开发android项目中,需要在程序中使用命令行执行,获得命令行执行后的结果并做处理. 下面是自己写的一个小例子,供以后参考使用: public String android_command(){ ...
- 命令行执行php脚本 中$argv和$argc
在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去配置一个conf用外网访问. 在nginx命令行中 使用 php index.php 就可以执行这个index.php脚 ...
- php 运行linux命令 与 linux下命令行执行php
1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]); 执行函数后不输出结果,返回最 ...
随机推荐
- Javascript基础,基本数据类型,function方法,arguments对象,Error对象
Javascript基础,基本数据类型,function方法,arguments对象,Error对象1.内部脚本写在body里面好 外部脚本放在head里面引用2.基本数据类型存在堆内存中 引用类型存 ...
- P10353 [PA2024] Grupa permutacji 题解
神秘!在这些排列生成的置换群 \(G\) 里,若 \(\exists \pi \in G\) 使得 \(\pi_i=k,\pi_j=l\),则所有这些 \((k,l)\) 被同样数量的 \(\pi\i ...
- SpringBoot 2.x 接入非标准SSE格式大模型流式响应实践 🚀
近期DeepSeek等国产大模型热度持续攀升,其关注度甚至超过了OpenAI(被戏称为CloseAI).在SpringBoot3.x环境中,可以使用官方的Spring AI轻松接入,但对于仍在使用JD ...
- Kali Linux(202104)重置root账户密码
1.前言 如果忘记了Kali Linux系统的登录密码,最关键的需求就是重置root用户的登录密码, 之后使用root账户可以修改其他账户的密码. 因此, 本文就介绍一下在不知道root用户登录密码的 ...
- DeepSeek满血版测试
技术背景 很多厂商以次充好,用蒸馏版DeepSeek冒充满血版.本文提供一些收集的问题集,可以用于测试是否满血DeepSeek.经过实际测试,国内厂商中只有满血版DeepSeek可以全对.但是各厂商后 ...
- git安装教程以及生成git ssh key
问题 GitHub拉取代码需要SSH,总是忘记命令,现网百度.记录下来,以后靠自己的博文 第一步 安装git 地址: https://git-scm.com/download/win 安装它 第二步 ...
- ChatBI≠NL2SQL:关于问数,聊聊我踩过的坑和一点感悟
"如果说数据是新时代的石油,智能问数就是能让普通人也能操作的智能钻井平台." 这里是**AI粉嫩特攻队!** ,这段时间真的太忙了,不过放心,关于从零打造AI工具的coze实操下篇 ...
- Qt使用QAudioInput、QAudioOutput实现局域网的音频通话
Qt使用QAudioInput.QAudioOutput实现局域网的音频通话 本文旨在介绍一下用Qt来实现局域网音频通话功能 文章目录 Qt使用QAudioInput.QAudioOutput实现局域 ...
- FastAPI依赖注入:参数共享与逻辑复用
扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 第一章:依赖注入核心原理 1.1 依赖树构建机制 from fastapi import Depends def auth_service ...
- Go new函数 例子解析答疑
package main import "fmt" func main() { p1 :=new(int) *p1 =1 fmt.Println("p1",p1 ...