Использование нескольких баз данных в CodeIgniter
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я новичок в веб-разработке
СКЭНАРИО: Я создаю веб-приложение, которое использует ion_auth для управления всей информацией пользователя/администратора (использует базу данных MySQL), и каждый пользователь имеет собственную базу данных (также MySQL) для основных приложений. Я загрузил базу данных, которую я использую для ion_auth в файле applicationact/config/database.php в CodeIgniter. Я использую стандартный формат MVC (отдельные модели, относящиеся к каждой базе данных).
ВОПРОС: Мне нужно знать, как легко и эффективно использовать несколько баз данных сразу в CodeIgniter. Мне нужно связать две схемы базы данных вместе, или CodeIgniter сделает это для меня? Существуют ли какие-либо ресурсы для решения этой проблемы (у меня возникли проблемы с ее поиском)?
Большое вам спасибо за вашу помощь!
Ответы
Ответ 1
в вашем файле конфигурации базы данных добавьте столько групп конфигурации, сколько номеров ваших баз данных:
$db['a']['hostname'] = 'localhost';
$db['a']['username'] = 'user';
$db['a']['password'] = 'pw';
$db['a']['database'] = 'db1';
...
$db['b']['hostname'] = 'localhost';
$db['b']['username'] = 'user';
$db['b']['password'] = 'pw';
$db['b']['database'] = 'db2';
...
//set the default db
$active_group = 'a';
то на вашей модели инициализируйте переменную класса:
private $db_b;
и, в конструктор, установите его следующим образом
__construct()
{
...
$this->db_b = $this->load->database('b', TRUE);
}
теперь вы можете использовать базу данных b
, как обычно:
$this->db_b->query('YOUR QUERY');
и, очевидно, по умолчанию:
$this->db->query('YOUR QUERY');