laravel实现批量添加数据

laravel实现批量添加数据

在使用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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112388.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 感知机原理小结

    感知机原理小结  感知机由Rosenblatt于1957年提出,是神经网络和支持向量机的基础。这里先简单介绍一下什么是感知机。本篇博客为《统计学方法》第二章和博客《感知机原理小结》的总结。感知机模型  感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,分别取+1+1+1和−1−1-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。这还是很…

    2022年10月8日
    4
  • snmp协议端口号_SNMP OID

    snmp协议端口号_SNMP OID记一次日常工作1、SNMP是一个简单的网络管理协议,起初我也不知道啥玩意,在自己做安全设备配置日志审计服务器时突然发现的,某厂商设备不支持syslog服务器配置,只有snmp的配置,我当即填上相关信息如下图可见,将状态整为开启,版本自己选择的v2,因为顾虑v1版本可能存在一些缺陷,填好IP、端口、间隔发送时间、还有一个community选项是对应我们的server端的名称。2、原本以为简单的就完事了,我就进行下一步取server端搞一搞,三下五除二的就把server端的基本信息配置好,下图仅为snmp

    2022年8月20日
    8
  • STM32看门狗配置说明

    STM32看门狗配置说明系统时钟:TheWWDGclockisprescaledfromtheAPBclockandhasaconfigurabletime-windowthatcanbeprogrammedtodetectabnormallylateorearlyapplicationbehavior./**@defgroupWWDG_PrescalerWWDGPrescaler*@{*/#defineWWDG_PRESCALER_10x

    2022年5月3日
    46
  • HTML+CSS,让div在屏幕中居中(水平居中+垂直居中)方法总结

    HTML+CSS,让div在屏幕中居中(水平居中+垂直居中)方法总结最近写网页经常需要将div在屏幕中居中显示,遂记录下几个常用的方法,都比较简单。水平居中直接加上<center>标签即可,或者设置margin:auto;当然也可以用下面的方法下面说两种在屏幕正中(水平居中+垂直居中)的方法放上示范的html代码:<body><divclass="main">

    2022年5月6日
    42
  • js刷新当前页面方法「建议收藏」

    js刷新当前页面方法「建议收藏」js刷新当前页面js刷新当前页面在写JS代码时,用到JS来刷新当前页面的方法有几种,比如最常用的reload(),location等reload方法,该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet])参数:bForceGet,可选参数,默认为false,从客户端缓存里取当前页。true,则以GET方式,从服务端取最新的页面,相当于客户端点击F5(“刷新”)replace方法,该方法通过指定URL替换当前缓存在历史里(客

    2025年7月24日
    4
  • 驱动开发利器Microsoft Windows Driver Kit 7.1.0下载

    在Windows2000与WindowsXP系统采用是WINDDK来开发WINDOWS驱动程序,我手头也有WINDDK,可是从WindowsVista开始之后,一般采用MicrosoftW

    2021年12月26日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号