代码之家  ›  专栏  ›  技术社区  ›  Ali Beshir

如何在Laravel中使用不同的连接进行批量插入?

  •  1
  • Ali Beshir  · 技术社区  · 6 年前

    我使用的是laravel5.6,我试图插入大量这样的数据

    Model::insert($BulkOfData);
    

    但我的问题是,我想静态地用另一个连接插入这些数据

    Model::setConnection('connection')->insert($BulkOfData);
    

    我该怎么做

    先谢谢你。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Zakaria Acharki    6 年前

    您可以通过添加 $connection 顶部变量如下:

    protected $connection = 'connection';
    

    然后您可以使用简单的插入:

    Model::insert($BulkOfData);
    

    on() 方法如下:

    Model::on('connection')->insert($BulkOfData);
    
        2
  •  1
  •   Devon Bessemer    6 年前

    setConnection不是静态方法。可以使用模型的实例:

    (new Model)->setConnection('connection')->insert(...);
    

    像insert这样的方法可以静态调用,因为它们没有在模型上定义,所以它会返回到调用查询生成器上insert()的\uu callStatic逻辑。