php – Laravel 4.2:将数据库记录从一个数据库复制到另一个数据库

我需要在Laravel 4.2中将一个记录子集从一个数据库复制到另一个数据库

我编写了一个工匠任务,加载我需要从“默认”数据库连接复制的模型,现在需要将它们保存到第二个数据库连接(在config / database.php中定义).我找不到的是使用模型的save()方法保存到默认连接以外的数据库的任何方法.

这可能吗?我可以将我的保存“推送”到第二个数据库连接吗?或者我是否需要更改为“拉”逻辑,反转我的数据库连接定义,并在保存到“默认”之前从“第二”连接加载数据?

最佳答案
首先,您必须在app / conifg / database.php中定义secoundary连接,然后在连接中定义例如:

'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');

转载注明原文:php – Laravel 4.2:将数据库记录从一个数据库复制到另一个数据库 - 代码日志