YII框架批量插入数据的方法


Posted in PHP onMarch 18, 2017

本文实例讲述了YII框架批量插入数据的方法。分享给大家供大家参考,具体如下:

public function insertSeveral($table, $array_columns)
{
 $sql = '';
 $params = array();
 $i = 0;
 foreach ($array_columns as $columns) {
  $names = array();
  $placeholders = array();
  foreach ($columns as $name => $value) {
   if (!$i) {
    $names[] = $this->_connection->quoteColumnName($name);
   }
   if ($value instanceof CDbExpression) {
    $placeholders[] = $value->expression;
    foreach ($value->params as $n => $v)
     $params[$n] = $v;
   } else {
    $placeholders[] = ':' . $name . $i;
    $params[':' . $name . $i] = $value;
   }
  }
  if (!$i) {
   $sql = 'INSERT INTO ' . $this->_connection->quoteTableName($table)
    . ' (' . implode(', ', $names) . ') VALUES ('
    . implode(', ', $placeholders) . ')';
  } else {
   $sql .= ',(' . implode(', ', $placeholders) . ')';
  }
  $i++;
 }
 return $this->setText($sql)->execute($params);
}
$rows = array(
   array('id' => 1, 'name' => 'John'),
   array('id' => 2, 'name' => 'Mark')
);
$command = Yii::app()->db->createCommand();
$command->insertSeveral('users', $rows);

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP生成Flash动画的实现代码
Mar 12 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
PHP项目开发中最常用的自定义函数整理
Dec 02 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
php实现的双向队列类实例
Sep 24 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
PHP常见漏洞攻击分析
Feb 21 PHP
PHP+MySQL实现的简单投票系统实例
Feb 24 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 #PHP
thinkPHP5.0框架模块设计详解
Mar 18 #PHP
thinkPHP5.0框架命名空间详解
Mar 18 #PHP
thinkPHP5.0框架自动加载机制分析
Mar 18 #PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 #PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 #PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 #PHP
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
python dict remove数组删除(del,pop)
2013/03/24 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
Python读取word文本操作详解
2018/01/22 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
jupyter notebook 多行输出实例
2020/04/09 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
.NET常见笔试题集
2012/12/01 面试题
经理职责范文
2013/11/08 职场文书
初中生学习生活的自我评价
2013/11/20 职场文书
元旦获奖感言
2014/03/08 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
观看信仰心得体会
2014/09/04 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
教你利用python实现企业微信发送消息
2021/05/23 Python