在使用laravel eloquent进行数据库操作的时候惊讶的发现这货居然不支持批量添加,看到网上很多人在循环里进行数据库插入操作来实现批量添加,我想说这样做是很损失性能滴!好在框架的DB门面里的insert方法可以进行批量插入。代码如下:

$data= [
['name'=>'111'],
['name'=>'222'],
];
DB::table('xxx')->insert($data);

但这样有个问题就是表名每次都要手动来输入。而我们一般情况下是在模型中进行数据库操作,并且会封装一些必要的方法到一个基类上。好在laravel模型为我们提供了一个getTable()方法可以得到当前模型的表名。这样我们就可以把批量操作放入一个公有的方法中去。代码如下:

class BaseModel extend Model
{ public function addAll(Array $data)
{
$rs = DB::table($this->getTable())->insert($data);
return $rs;
} } class User extend BaseModel
{ } //使用时
$user = new User();
$data= [
['name'=>'111'],
['name'=>'222'],
]; $user->addAll($data);

链接:https://www.jianshu.com/p/b4b08a5a43fe

最新文章

  1. 如何在一个页面上让多个jQuery
  2. 烂泥:Postfix邮件服务器搭建之软件安装与配置
  3. tomcat源码分析(一)从tomcat架构说起
  4. PAT 1003. 我要通过!(20)
  5. 订餐APP第一次sprint+燃尽图
  6. [Python笔记]第一篇:基础知识
  7. Ubuntu 系统 文件操作命令
  8. Break the Chocolate(规律)
  9. Git 常用命令速查表(图文+表格)
  10. symfony command
  11. cocos2dx-lua中handler解析
  12. css 性能优化小结
  13. Spring集成Quarz开发环境搭建
  14. RN环境的搭建
  15. 深入浅出 JVM GC(1)
  16. 模拟页面获取的php数据(三)
  17. 学习笔记001之[Android开发视频教学].01_06_Android当中的常见控件
  18. bat输出重定向
  19. 2-Tenth Scrum Meeting20151210
  20. ios 加密解密工具类字符判断等

热门文章

  1. Spark1.0.0 源码编译和部署包生成
  2. IE9样式错乱,IE11无法正常加载v-loading等问题 引入了babel-polyfill插件,依然出现”polyfill-eventsource added missing EventSource to window”的奇怪问题(ie所有版本都有出现)
  3. 简单的C#TCP协议收发数据示例
  4. P1101 单词方阵 (单词方阵)
  5. Linux之tmux学习
  6. ROS 小乌龟测试
  7. Spring Security(二十四):6.6 The Authentication Manager and the Namespace
  8. leetcode:Single Number
  9. Kafka 入门三问
  10. 朱晔的互联网架构实践心得S2E3:品味Kubernetes的设计理念