我需要在 Laravel 4.2 中将记录子集从一个数据库复制到另一个数据库
我编写了一个 artisan 任务,加载需要从“默认”数据库连接复制的模型,现在需要将它们保存到第二个数据库连接(在 config/database.php 中定义)。我找不到使用模型的 save() 方法保存到默认连接以外的数据库的任何方法。
这可能吗?我可以将我的保存“推送”到第二个数据库连接吗?或者我是否需要更改为“拉”逻辑,反转我的数据库连接定义,并在保存到“默认”连接之前从“第二个”连接加载数据?
首先,您必须在中定义辅助连接app/conifg/database.php
然后在connections
例如:
'second_db_conn' => [
'driver' => 'mysql',
'host' => $_SERVER['MYSQL_HOST'],
'database' => $_SERVER['MYSQL_DATABASE'],
'username' => $_SERVER['MYSQL_USERNAME'],
'password' => $_SERVER['MYSQL_PASSWORD'],
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
],
然后在您的模型上设置此连接 - 保存它 - 并切换回默认值(在我的示例中是mysql
):
$model->setConnection('second_db_conn')->save();
$model->setConnection('mysql');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)