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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
如何使用PHP中的字符串函数
Nov 24 PHP
用 PHP5 轻松解析 XML
Dec 04 PHP
PHP导入Excel到MySQL的方法
Apr 23 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
php自定义函数call_user_func和call_user_func_array详解
Jul 14 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
ThinkPHP中html:list标签用法分析
Jan 09 PHP
php中简单的对称加密算法实现
Jan 05 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
谈谈JS中的!!
2017/12/07 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
机械工程师的岗位职责
2013/11/17 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
揭牌仪式主持词
2014/03/19 职场文书
校园活动宣传方案
2014/03/28 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
学前教育见习总结
2015/06/23 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python
php修改word的实例方法
2021/11/17 PHP