Yii2.0实现的批量更新及批量插入功能示例
本文实例讲述了Yii2.0实现的批量更新及批量插入功能。分享给大家供大家参考,具体如下:
批量更新
方法1
/** *批量更新循环周期 *@paramarray$condition *$condition=['advertise_id'=>'','status'=>'','weekdays'=>[1,2,3]]查询条件 *$params=['status'=>''] *@param$params *@returnbool */ publicfunctionbatchUpdateAdSchedule($condition=[],$params) { if(count($condition)==0||!is_array($condition)||count($params)==0){ returnfalse; } $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 *@returnbool|int *@throws\yii\db\Exception */ publicfunctionbatchUpdateSalesNum($params) { if(count($params)==0||!is_array($params)){ returnfalse; } $sql=''; foreach($paramsas$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 *@returnint *@throws\yii\db\Exception */ publicfunctionbatchAddShopClassConn($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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。