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实现的下载css文件中的图片的代码
Feb 08 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
浅析php单例模式
Nov 25 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
php中的抽象方法和抽象类
Feb 14 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
PHP抽象类和接口用法实例详解
Jul 20 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 PHP
php字符串函数 str类常见用法示例
May 15 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多线程抓取网页实现代码
2010/07/22 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
js 小数取整的函数
2010/05/10 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
Node.js中的cluster模块深入解读
2018/06/11 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
记录Django开发心得
2014/07/16 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python六大开源框架对比
2015/10/19 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
下载官网python并安装的步骤详解
2019/10/12 Python
python定时任务 sched模块用法实例
2019/11/04 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
英国家用电器购物网站:Hughes
2018/02/23 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
客房主管岗位职责
2013/12/09 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
高考备战决心书
2014/03/11 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
给老婆的道歉信
2015/01/20 职场文书
寒山寺导游词
2015/02/03 职场文书
职称评定个人总结
2015/03/05 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS