Siz kullanıcı kimlik doğrulama ve yine sağ bilgi depolamak için bir ana veritabanı olması gerekir? Yani iki bağlantılarını yönetmek gerekir. Daha sonra MY_Controller daki 2 set config, orada varsayılan bağlantısı olabilir.
Bu MY_Controller sonra elbette kullanıcıdan veritabanı adını almak istiyorum ancak bağlı olabilir kullanıcı (otomatik yüklenen veritabanı sınıfı ve ne olursa olsun kullandığınız model / lib / auth sistemi) algılamasını ele olacaktır.
Daha sonra 2 db ayarlamak için bu gibi bir kod kullanabilirsiniz:
class MY_Controller extends Controller
{
function MY_Controller () {
parent::Controller();
$this->user = $this->auth->get_user($this->input->post('username'), $this->input->post('password'));
$this->company = $this->company->get($this->input->post('company_id'));
$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = $this->company->database;
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";
$this->company_db = $this->load->database($config, TRUE);
}
}
Daha sonra $ this-> company_db yanı sıra $ this-> db ile etkileşime girebilir. Birinci grup, veri tabanı, ana varsayılan bağlantısı ile etkileşim için ikinci olmak ile db etkileşimleri için olacaktır.