我想将一个 Eloquent 模型从一个连接复制到另一个连接。
到目前为止,我这样做的方式是这样的:
$users = User::on('connection1')->where('tenant', 'foo')->get();
User::on('connection2')->insert($users->toArray());
这在大多数情况下都有效。但在某些情况下这不起作用。例如:
$hidden
属性 toArray
模型的方法被覆盖 简单地将某些行复制到另一个连接的可靠方法是什么?
最佳答案
您可以利用 setConection()
eloquent 模型上的方法,如下所示:
$users = User::on('connection1')->where('tenant', 'foo')->get();
foreach ($users as $user) {
$user->setConnection('connection2');
$user->save();
}
我在另一个 stackoverflow 问题 here 中找到了这个
关于Laravel:将模型/行从一个连接复制到另一个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56800085/