zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    数据仓库与数据挖掘的一些基本概念
    System.currentTimeMillis();
    html练习(3)
    HDU 1556 Color the ball【算法的优化】
    ubuntu12.04 安装配置jdk1.7
    java中的switch用String作为条件
    oracle中 connect by prior 递归算法
    C#复习题
    AngularJS:Http
    AngularJS:Service
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453432.html
Copyright © 2011-2022 走看看