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
Dec 13 PHP
php AJAX实例根据邮编自动完成地址信息
Nov 23 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
Jan 17 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
PHP数组函数array_multisort()用法实例分析
Apr 02 PHP
php-beanstalkd消息队列类实例分享
Jul 19 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 PHP
PHP 使用位运算实现四则运算的代码
Mar 09 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
php2html php生成静态页函数
2008/12/08 PHP
php 保留小数点
2009/04/21 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
Python中random模块用法实例分析
2015/05/19 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
python事件驱动event实现详解
2018/11/21 Python
Django 内置权限扩展案例详解
2019/03/04 Python
python函数的作用域及关键字详解
2019/08/20 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
Python 导入文件过程图解
2019/10/15 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
澳大利亚手袋、珠宝和在线时尚精品店:The Way
2019/12/21 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
大学生毕业鉴定
2014/01/31 职场文书
公司活动总结怎么写
2014/06/25 职场文书
单位委托书怎么写
2014/08/02 职场文书
亮剑观后感
2015/06/05 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Java 定时任务技术趋势简介
2022/05/04 Java/Android