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的日期与时间函数技巧
Apr 24 PHP
PHP中的string类型使用说明
Jul 27 PHP
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
php 猴子摘桃的算法
Jun 20 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
python选择排序算法的实现代码
2013/11/21 Python
Python中random模块用法实例分析
2015/05/19 Python
python 接收处理外带的参数方法
2018/12/03 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
法国体育用品商店:GO Sport
2019/10/23 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
会计学自我鉴定
2014/02/06 职场文书
小组合作学习反思
2014/02/18 职场文书
工商管理自荐书
2014/07/06 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
python实现web邮箱扫描的示例(附源码)
2021/03/30 Python
完美解决golang go get私有仓库的问题
2021/05/05 Golang
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js