gpt4 book ai didi

php - 拉维尔 4.2 : Copying database records from one database to another

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:50 25 4
gpt4 key购买 nike

我需要在 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');

关于php - 拉维尔 4.2 : Copying database records from one database to another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com