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 ADODB使用方法集锦
Mar 25 PHP
PHPUnit PHP测试框架安装方法
Mar 23 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
解析centos中Apache、php、mysql 默认安装路径
Jun 25 PHP
php反射应用示例
Feb 25 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
php去除字符串中空字符的常用方法小结
Mar 17 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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
建立文件交换功能的脚本(一)
2006/10/09 PHP
常用的php ADODB使用方法集锦
2008/03/25 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
漂亮的提示信息(带箭头)
2007/03/21 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
在Python中用keys()方法返回字典键的教程
2015/05/21 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
python学习教程之使用py2exe打包
2017/09/24 Python
python编程使用协程并发的优缺点
2018/09/20 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
python开头的coding设置方法
2019/08/08 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
网站创业计划书
2014/04/30 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
零基础学java之循环语句的使用
2022/04/10 Java/Android