Php 如何在Laravel中使用不同的连接进行批量插入?
我使用的是Laravel5.6,我试图插入大量这样的数据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这样的
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);
我有多个连接,具体取决于用户。。所以我不能像那样将连接设置为字符串