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]); 执行函数后不输出结果,返回最 ...
随机推荐
- Nmap 语法及示例
Nmap 语法及示例 基本语法 Nmap的基本语法结构如下: nmap [scan types] [options] [target] [scan types]: 标识扫描类型,如:TCP.UDP等. ...
- [业界方案] 智能运维AIOps-学习笔记
[业界方案] 智能运维-学习笔记 目录 [业界方案] 智能运维-学习笔记 0x00 摘要 0x01 AIOps 背景 1.1 AIOps概述 1.2 AIOps场景 1.3 AIOps能力 1.4 A ...
- .gitignore 文件添加新项后需要做的处理
有问题敬请评论告知作者. .gitignore 文件添加新项后,已追踪的文件仍然会被追踪.(只要执行过 git add 的文件就会被追踪,追踪它的修改) 怎么取消追踪呢? 想要取消文件追踪可以使用命令 ...
- MAC消息认证码介绍
此MAC是密码学概念,与计算机网络不同 为什么有了摘要算法还要有MAC 摘要算法保障的是消息的完整性 归根到底就是由H(x)来保证x的完整 那么问题来了,如果我知道你所使用的摘要算法(例如中间人攻击) ...
- 从汇编层解读Golang的闭包实现:逃逸分析与性能影响
本文精心梳理了一系列面试中具有一定难度的高频Golang问题,其中部分知识点可能你之前未曾深入探究,然而它们却在面试和实际工作中至关重要. 包括:Golang的基础语法.并发模型.内存管理等核心知识点 ...
- php获取类名
<?php class ParentClass { public static function getClassName() { return __CLASS__; } } class Chi ...
- Ubuntu通过VMware虚拟机安装步骤
1.下载Ubuntu系统镜像 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.这个错误需要BIOS CPU里面设置一下,具体问度娘. 18 ...
- redmine 127访问成功,其他机器不能访问
添加防火墙 入站规则
- linux tmux 使用教程
前言 Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具. 本文介绍如何使用 Tmux. 一.Tmux 是什么? 1.1 会话与进程 命令行的典型使用 ...
- go mod 安装使用 beego
go module基本使用 // 创建目录,初始化新项目 mkdir beemod cd beemod go mod init beemod 创建 server.go 文件 package main ...