gpt4 book ai didi

php - 能够使用 Laravel 在运行时更改数据库连接

转载 作者:搜寻专家 更新时间:2023-10-30 23:33:08 26 4
gpt4 key购买 nike

所以我正在制作一个 Web 应用程序,它应该能够按计划将任何 SQL 语句上传到数据库中列出的任何服务器。它应该连接到数据库,执行语句并根据收到的信息生成报告。然后它可以断开连接。

目前,我有一份工作,它从数据库中获取所需的所有信息,例如。主机、端口、DBName 等。我只需要形成一个连接,然后执行语句。

我正在使用 Laravel 框架。

编辑:我无法修改任何数据库配置,因为数据库信息存储在表中,而不是配置文件中。

谢谢

最佳答案

你可以在运行时这样设置它:

$connKey = 'CustomConnection';

$dbInfo = DatabaseInfo::find($databaseId);

Config::set('database.connections.' . $connKey, array(
'driver' => 'mysql',
'host' => $dbInfo->hostName,
'database' => $dbInfo->database,
'username' => $dbInfo->username,
'password' => $dbInfo->password,
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => '',
));

// Now you can set the new connection to the models

$myModel = new MyModel;
$myModel->setConnection($connKey);

// Or you can use it this way too:
$users = DB::connection($connKey)->select(...);

// Or, also:
$pdo = DB::connection($connKey)->getPdo();

关于php - 能够使用 Laravel 在运行时更改数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427007/

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