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+Html+缓存
Nov 25 PHP
浅析linux下apache服务器的配置和管理
Aug 10 PHP
学习php开源项目的源码指南
Dec 21 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
Feb 16 PHP
php中return的用法实例分析
Feb 28 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
XHProf报告字段含义的解析
May 17 PHP
Smarty保留变量用法分析
May 23 PHP
php实现文件管理与基础功能操作
Mar 21 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 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
一个捕获函数输出的函数
2007/02/14 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
Python开发编码规范
2006/09/08 Python
Python中运算符"=="和"is"的详解
2016/10/08 Python
python类的继承实例详解
2017/03/30 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
python导入库的具体方法
2020/06/18 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
.NET笔试题(20个问题)
2016/02/02 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
最受欢迎的自我评价
2013/12/22 职场文书
《藏戏》教学反思
2014/02/11 职场文书
新教师培训心得体会
2014/09/02 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
销售经理岗位职责
2015/01/31 职场文书
违纪开除通知书
2015/04/25 职场文书
小人国观后感
2015/06/11 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
SQL 聚合、分组和排序
2021/11/11 MySQL