基于Yii框架如何实现批量更新,方法有几种
Admin 2022-07-11 群英技术资讯 900 次浏览
本文实例讲述了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(); }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
图像的旋转要根据要求去设定图像,然而旋转是要根据方向进行改变的,今天这篇文章是小编带来的PHP开发中实现图像处理旋转和翻转的方法,需要的朋友参考下面的介绍吧!
你清楚php如何实现异步执行吗?其实利用四种方式来处理就行,如果你对这方面感兴趣的话,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
这篇文章主要介绍了Yii2.0实现的批量更新及批量插入功能,结合实例形式总结分析了Yii2.0数据库实现数据的批量更新与批量插入功能相关操作技巧,需要的朋友可以参考下
1)修改PHP的配置文件php.ini这种方式设置error_reporting后,重启web服务器,就会永久生效。
这篇文章主要介绍了PHP中 Class self 与 static 有什么区别,都怎么用,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008