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

  • 相关阅读:
    伸展树(SplayTree)的实现
    map的访问
    #pragma warning(disable 4786)
    debian sftp/ssh197
    debian 配置静态ip197
    deepin 安装tar.gz197
    npm构建vue项目197
    linux 常用命令197
    application/force-download 不生效197
    reids 安装197
  • 原文地址:https://www.cnblogs.com/lxwphp/p/10741377.html
Copyright © 2011-2022 走看看