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 04 PHP
php模拟js函数unescape的函数代码
Oct 20 PHP
php中创建和调用webservice接口示例
Jul 25 PHP
html静态页面调用php文件的方法
Nov 13 PHP
php接口数据加密、解密、验证签名
Mar 12 PHP
PHP自动生成表单代码分享
Jun 19 PHP
php输出含有“#”字符串的方法
Jan 18 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 PHP
在laravel中实现将查询的对象转换为多维数组的函数
Oct 21 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 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
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
set_include_path在win和linux下的区别
2008/01/10 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
PHP children()函数讲解
2019/02/03 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
12步教你理解Python装饰器
2016/02/25 Python
Python类属性的延迟计算
2016/10/22 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
Django 使用logging打印日志的实例
2018/04/28 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
德国足球商店:OUTFITTER
2019/05/06 全球购物
《一个小村庄的故事》教学反思
2014/04/13 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
中学生评语大全
2014/04/18 职场文书
党员查摆剖析材料
2014/10/10 职场文书
简单的辞职信模板
2015/05/12 职场文书
个人更名证明
2015/06/23 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
辞职申请书范本
2019/05/20 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
AJAX学习笔记
2021/05/18 Javascript
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技