広告

[CodeIgniter3]複数のデータベースを使う

あまり使うことはないけど・・・
$this->load->databaseでapplication/config/database.phpに設定したデータベースをモデルで自由に呼び出すことができる。

application/config/database.phpに設定。

$db['default'] = array(
        'dsn'	=> '',
        'hostname' => 'localhost',
        'username' => 'root',
        'password' => '',
        'database' => 'ci',
        'dbdriver' => 'mysqli',
        ・・・
);
$db['sqlite'] = array(
        'dsn'   => '',
        'hostname' => '',
        'username' => '',
        'password' => '',
        'database' => APPPATH.("/sqlite/test.db"),
        'dbdriver' => 'sqlite3',
        ・・・
);

Modelで呼び出し

class model_xxx extends CI_Model{

	public function index() {
		$this->db->select('a', 'b', 'c');
		・・・
		$sqlite = $this->load->database('sqlite', TRUE);
		$sqlite->select('a', 'b', 'c');
		・・・
	}