我正在使用 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'
);
我在这里使用 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 的方法。有人知道如何以优雅的方式解决这个问题吗?