gpt4 book ai didi

php - Codeigniter 3 与 dbforge 的多数据库连接

转载 作者:行者123 更新时间:2023-11-29 02:53:09 29 4
gpt4 key购买 nike

我正在使用 CI 3 构建 Web 应用程序,我必须使用 2 个不同的数据库连接来满足某些要求。我已将配置加载到 database.php 文件中,当然我可以使用内置类连接到它们。

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => 'root',
'database' => 'primary',
'dbdriver' => 'mysqli'
);

$db['customer'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root_1',
'password' => 'root_1',
'database' => 'secondary',
'dbdriver' => 'mysqli'

);

我正在使用来自 here 的 MY_Model .所以我将它们扩展如下..

class Table extends MY_Model
{


public function __construct()
{

parent::__construct();

$this->_database = $this->load->database('customer', TRUE);
}

public function create_table()
{
return $this->_database->query("CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)");

}

}

但我需要使用 dbForge 来创建表。但只有“默认”连接与 dbForge 类一起使用。 Codeigniter dbForge 文档没有提供将不同的数据库连接加载到 dbForge 的方法。任何人都知道如何以优雅的方式解决这个问题?

最佳答案

经过一些研究,我找到了正确的方法。

$this->load->dbForge() 实际上可以带一个参数,如果我们传递一个数据库对象,它将使用该连接来执行操作。

此外,我们还可以传递第二个参数并获得一个单独的对象。

$this->dbForgeSecondary = $this->load->dbforge($this->_database, TRUE);

简单且非常酷。

关于php - Codeigniter 3 与 dbforge 的多数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33492627/

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