2
我正在用CI 3構建一個Web應用程序,我必須針對特定需求使用2個不同的數據庫連接。我已經將配置加載到database.php文件,我當然可以使用內置的類連接到它們。Codeigniter 3與dbforge的多個數據庫連接
$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類只使用'default'連接。 Codeigniter dbForge文檔沒有提供加載到dbForge的不同db連接的方法。任何人都知道如何以優雅的方式解決這個問題?
檢查此[鏈接](http://stackoverflow.com/questions/16500733/codeigniter-dbforge-create-database-and-tables)這是否對你有幫助? – Saty
@Saty我已經通過鏈接,這看起來不像一個優雅的方式。特別是因爲我打算使用遷移和所有與「次要」連接。 – Fawzan
你可以通過URL傳遞特定的參數,並根據URL連接到特定的數據庫 –