基于Yii框架如何实现批量更新,方法有几种
Admin 2022-07-11 群英技术资讯 810 次浏览
本文实例讲述了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以命令行形式运行时并不生效。...
今天小编就为大家分享一篇在laravel5.2中实现点击用户头像更改头像的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
区别:1、“laravel5.1”版本是TLS版本,提供了三年的安全修复支持,“laravel5.0”版本不是长期支持的版本;2、“5.1”版本“app/Handlers”被合并到“app/Listeners”目录,“5.0”版本没有合并。
在PHP7之后,PHP中加入了匿名类的特性。匿名类和匿名方法让PHP成为了更现代化的语言,也让我们的代码开发工作越来越方便。下面本篇文章就来简单带大家了解一下PHP7 匿名类的用法,希望对大家有所帮助!
swoole编译失败的解决办法:首先在“~/.bashrc”文件中加入内容为“export LANGUAGE="en_US.UTF-8"”;然后执行命令“source /root/.bashrc”;最后安装相关依赖库即可。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008