laravel实现批量添加数据
2024-10-18 22:34:39
在使用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
最新文章
- 如何在一个页面上让多个jQuery
- 烂泥:Postfix邮件服务器搭建之软件安装与配置
- tomcat源码分析(一)从tomcat架构说起
- PAT 1003. 我要通过!(20)
- 订餐APP第一次sprint+燃尽图
- [Python笔记]第一篇:基础知识
- Ubuntu 系统 文件操作命令
- Break the Chocolate(规律)
- Git 常用命令速查表(图文+表格)
- symfony command
- cocos2dx-lua中handler解析
- css 性能优化小结
- Spring集成Quarz开发环境搭建
- RN环境的搭建
- 深入浅出 JVM GC(1)
- 模拟页面获取的php数据(三)
- 学习笔记001之[Android开发视频教学].01_06_Android当中的常见控件
- bat输出重定向
- 2-Tenth Scrum Meeting20151210
- ios 加密解密工具类字符判断等
热门文章
- Spark1.0.0 源码编译和部署包生成
- IE9样式错乱,IE11无法正常加载v-loading等问题 引入了babel-polyfill插件,依然出现”polyfill-eventsource added missing EventSource to window”的奇怪问题(ie所有版本都有出现)
- 简单的C#TCP协议收发数据示例
- P1101 单词方阵 (单词方阵)
- Linux之tmux学习
- ROS 小乌龟测试
- Spring Security(二十四):6.6 The Authentication Manager and the Namespace
- leetcode:Single Number
- Kafka 入门三问
- 朱晔的互联网架构实践心得S2E3:品味Kubernetes的设计理念