Yii2.0实现的批量更新及批量插入功能示例


Posted in PHP onJanuary 29, 2019

本文实例讲述了Yii2.0实现的批量更新及批量插入功能。分享给大家供大家参考,具体如下:

批量更新

方法1

/**
* 批量更新循环周期
* @param array $condition
* $condition = ['advertise_id' => '','status' => '', 'weekdays'=>[1,2,3]] 查询条件
* $params = ['status' => '']
* @param $params
* @return bool
*/
public function batchUpdateAdSchedule($condition = [], $params)
{
  if (count($condition) == 0 || !is_array($condition) || count($params) == 0) {
    return false;
  }
  $conditions = ' 1 = 1 ';
  $bind = [];
  if (array_key_exists('advertise_id', $condition) && !empty($condition['advertise_id'])) {
    $conditions .= ' AND `advertise_id` = :advertiseId';
    $bind['advertiseId'] = $condition['advertise_id'];
  }
  if (array_key_exists('status', $condition) && !empty($condition['status'])) {
    $conditions .= ' AND `status` = :status';
    $bind['status'] = $condition['status'];
  }
  $result = AdvertiseSchedule::updateAll($params, $conditions, $bind);
  return $result > 0 ? true : false;
}

方法2

/**
* 批量更新商品销量
* @param $params
* @return bool|int
* @throws \yii\db\Exception
*/
public function batchUpdateSalesNum($params)
{
  if (count($params) == 0 || !is_array($params)) {
    return false;
  }
  $sql = '';
  foreach ($params as $key => $value) {
    $sql .= 'UPDATE `morefun`.`mbb_goods` SET `sale_num` = `sale_num` -' . $value['amount'] . ' WHERE `id` =' . $value['goods_id'] . ';';
  }
  $result = Yii::$app->db->createCommand($sql)->execute();
  return $result == 1 ? true : false;
}

批量插入

/**
* 批量插入
* @param $params
* @return int
* @throws \yii\db\Exception
*/
public function batchAddShopClassConn($params)
{
  $connection = Yii::$app->db;
  $queryBuilder = $connection->queryBuilder;
  /*$sql = $queryBuilder->batchInsert('user', ['name', 'age'], [
    ['Tom', 30],
    ['Jane', 20],
    ['Linda', 25],
  ]);*/
  $sql = $queryBuilder->batchInsert(shopClassConn::tableName(),
    ['shop_id', 'class_id'], $params);
  return $connection->createCommand($sql)->execute();
}

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP制作静态网站的模板框架
Oct 09 PHP
PHP入门
Oct 09 PHP
PHP 截取字符串专题集合
Aug 19 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
Zend Framework入门知识点小结
Mar 19 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
PHP实现微信对账单处理
Oct 01 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
深入分析PHP设计模式
Jun 15 PHP
PHP中echo与print区别点整理
Mar 09 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 #PHP
PDO::inTransaction讲解
Jan 28 #PHP
PDO::getAvailableDrivers讲解
Jan 28 #PHP
PDO::getAttribute讲解
Jan 28 #PHP
PDO::exec讲解
Jan 28 #PHP
PDO::errorInfo讲解
Jan 28 #PHP
PDO::errorCode讲解
Jan 28 #PHP
You might like
来自PHP.NET的入门教程
2006/10/09 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
js 验证密码强弱的小例子
2013/03/21 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
js实现秒表计时器
2019/12/16 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
初步认识Python中的列表与位运算符
2015/10/12 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
Python实现微信表情包炸群功能
2021/01/28 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
HEMA法国:荷兰原创设计
2019/02/21 全球购物
美国智能家居专家:tink
2019/06/04 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
新闻编辑求职信
2014/04/09 职场文书
合作协议书
2014/04/23 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript