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相当简单的分页类
Oct 02 PHP
PHP 源代码压缩小工具
Dec 22 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
简单的php文件上传(实例)
Oct 27 PHP
smarty获得当前url的方法分享
Feb 14 PHP
php判断字符串在另一个字符串位置的方法
Feb 27 PHP
php导入excel文件到mysql数据库的方法
Jan 14 PHP
php中return的用法实例分析
Feb 28 PHP
php连接oracle数据库的核心步骤
May 26 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
php生成静态页面并实现预览功能
Jun 27 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
phpMyadmin 用户权限中英对照
2010/04/02 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
PHP7修改的函数
2021/03/09 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
Django如何批量创建Model
2020/09/01 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
Python xlrd/xlwt 创建excel文件及常用操作
2020/09/24 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
行政人事专员岗位职责
2014/03/05 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
群众路线对照检查材料
2014/09/22 职场文书
三峡导游词
2015/01/31 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
创业计划书详解
2019/07/19 职场文书