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

Php 如何在Laravel中使用不同的连接进行批量插入?,php,laravel,laravel-5,laravel-5.6,Php,Laravel,Laravel 5,Laravel 5.6,我使用的是Laravel5.6,我试图插入大量这样的数据 Model::insert($BulkOfData); 但我的问题是,我想用另一个连接静态地插入这些数据 Model::setConnection('connection')->insert($BulkOfData); 我该怎么做 提前感谢。设置连接不是静态方法。您可以使用模型的实例: (new Model)->setConnection('connection')->insert(...); 像insert这样的

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

Model::insert($BulkOfData);
但我的问题是,我想用另一个连接静态地插入这些数据

Model::setConnection('connection')->insert($BulkOfData);
我该怎么做


提前感谢。

设置连接不是静态方法。您可以使用模型的实例:

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

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

您可以通过在顶部添加
$connection
变量来设置模型中的连接,如:

protected $connection = 'connection';
然后您可以使用简单的插入:

Model::insert($BulkOfData);
否则,如果要动态更改连接,可以使用
on()
方法,如:

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

我有多个连接,具体取决于用户。。所以我不能像那样将连接设置为字符串